summaryrefslogtreecommitdiffstats
path: root/toolkit/profile/xpcshell/test_invalid_descriptor.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/profile/xpcshell/test_invalid_descriptor.js')
-rw-r--r--toolkit/profile/xpcshell/test_invalid_descriptor.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/toolkit/profile/xpcshell/test_invalid_descriptor.js b/toolkit/profile/xpcshell/test_invalid_descriptor.js
new file mode 100644
index 0000000000..052bb07f69
--- /dev/null
+++ b/toolkit/profile/xpcshell/test_invalid_descriptor.js
@@ -0,0 +1,59 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * If a user has modified a relative profile path then there may be issues where
+ * the profile default setting doesn't match.
+ */
+
+add_task(async () => {
+ let hash = xreDirProvider.getInstallHash();
+
+ let profileData = {
+ options: {
+ startWithLastProfile: true,
+ },
+ profiles: [
+ {
+ name: "Profile1",
+ path: "../data/test",
+ },
+ {
+ name: "Profile2",
+ path: "Path2",
+ },
+ ],
+ installs: {
+ [hash]: {
+ default: "test",
+ },
+ },
+ };
+
+ writeProfilesIni(profileData);
+
+ let { profile, didCreate } = selectStartupProfile();
+ checkStartupReason("default");
+
+ let service = getProfileService();
+
+ Assert.ok(!didCreate, "Should not have created a new profile.");
+ Assert.equal(
+ profile.name,
+ "Profile1",
+ "Should have selected the expected profile"
+ );
+ Assert.ok(
+ !service.createdAlternateProfile,
+ "Should not have created an alternate profile."
+ );
+
+ Assert.equal(
+ profile.name,
+ service.defaultProfile.name,
+ "Should have selected the right default."
+ );
+
+ service.flush();
+ checkProfileService();
+});