summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozprofile/tests/test_nonce.py
blob: 3e3b2ae2b80a7d23566f8b0205a5d8d5aa5b1aff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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()