| #!/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() |