summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozprofile/tests/test_nonce.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozprofile/tests/test_nonce.py')
-rwxr-xr-xtesting/mozbase/mozprofile/tests/test_nonce.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/testing/mozbase/mozprofile/tests/test_nonce.py b/testing/mozbase/mozprofile/tests/test_nonce.py
new file mode 100755
index 0000000000..3e3b2ae2b8
--- /dev/null
+++ b/testing/mozbase/mozprofile/tests/test_nonce.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+
+"""
+test nonce in prefs delimeters
+see https://bugzilla.mozilla.org/show_bug.cgi?id=722804
+"""
+
+import os
+
+import mozunit
+from mozprofile.prefs import Preferences
+from mozprofile.profile import Profile
+
+
+def test_nonce(tmpdir):
+ # make a profile with one preference
+ path = tmpdir.strpath
+ profile = Profile(path, preferences={"foo": "bar"}, restore=False)
+ user_js = os.path.join(profile.profile, "user.js")
+ assert os.path.exists(user_js)
+
+ # ensure the preference is correct
+ prefs = Preferences.read_prefs(user_js)
+ assert dict(prefs) == {"foo": "bar"}
+
+ del profile
+
+ # augment the profile with a second preference
+ profile = Profile(path, preferences={"fleem": "baz"}, restore=True)
+ prefs = Preferences.read_prefs(user_js)
+ assert dict(prefs) == {"foo": "bar", "fleem": "baz"}
+
+ # cleanup the profile;
+ # this should remove the new preferences but not the old
+ profile.cleanup()
+ prefs = Preferences.read_prefs(user_js)
+ assert dict(prefs) == {"foo": "bar"}
+
+
+if __name__ == "__main__":
+ mozunit.main()