50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
#!/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()
|