1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/*
* Tests that the environment variables are used to select a profile.
*/
add_task(async () => {
let root = makeRandomProfileDir("foo");
let local = gDataHomeLocal.clone();
local.append("foo");
let profileData = {
options: {
startWithLastProfile: true,
},
profiles: [
{
name: "Profile1",
path: root.leafName,
},
{
name: "Profile2",
path: "Path2",
default: true,
},
{
name: "Profile3",
path: "Path3",
},
],
};
writeProfilesIni(profileData);
checkProfileService(profileData);
Services.env.set("XRE_PROFILE_PATH", root.path);
Services.env.set("XRE_PROFILE_LOCAL_PATH", local.path);
let { rootDir, localDir, profile, didCreate } = selectStartupProfile([
"-P",
"Profile3",
]);
checkStartupReason("restart");
Assert.ok(!didCreate, "Should not have created a new profile.");
Assert.ok(rootDir.equals(root), "Should have selected the right root dir.");
Assert.ok(
localDir.equals(local),
"Should have selected the right local dir."
);
Assert.ok(profile, "A named profile matches this.");
Assert.equal(profile.name, "Profile1", "The right profile was matched.");
let service = getProfileService();
Assert.notEqual(
service.defaultProfile,
profile,
"Should not be the default profile."
);
});
|