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.py49
1 files changed, 49 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 000000000..fef262272
--- /dev/null
+++ b/testing/mozbase/mozprofile/tests/test_nonce.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+
+"""
+test nonce in prefs delimeters
+see https://bugzilla.mozilla.org/show_bug.cgi?id=722804
+"""
+
+import os
+import tempfile
+import unittest
+import mozfile
+from mozprofile.prefs import Preferences
+from mozprofile.profile import Profile
+
+
+class PreferencesNonceTest(unittest.TestCase):
+
+ def test_nonce(self):
+
+ # make a profile with one preference
+ path = tempfile.mktemp()
+ self.addCleanup(mozfile.remove, path)
+ profile = Profile(path,
+ preferences={'foo': 'bar'},
+ restore=False)
+ user_js = os.path.join(profile.profile, 'user.js')
+ self.assertTrue(os.path.exists(user_js))
+
+ # ensure the preference is correct
+ prefs = Preferences.read_prefs(user_js)
+ self.assertEqual(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)
+ self.assertEqual(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)
+ self.assertEqual(dict(prefs), {'foo': 'bar'})
+
+if __name__ == '__main__':
+ unittest.main()