示例#1
0
def test_json_datatypes():
    # minPercent is at 30.1 to test if non-integer data raises an exception
    json = """{"zoom.minPercent": 30.1, "zoom.maxPercent": 300}"""

    with mozfile.NamedTemporaryFile(suffix=".json") as f:
        f.write(json.encode())
        f.flush()

        with pytest.raises(PreferencesReadError):
            Preferences.read_json(f._path)
示例#2
0
    def test_json_datatypes(self):
        # minPercent is at 30.1 to test if non-integer data raises an exception
        json = """{"zoom.minPercent": 30.1, "zoom.maxPercent": 300}"""

        with mozfile.NamedTemporaryFile(suffix='.json') as f:
            f.write(json)
            f.flush()

            with self.assertRaises(PreferencesReadError):
                Preferences.read_json(f._path)
示例#3
0
def test_merge_profile(cls):
    profile = cls(preferences={'foo': 'bar'})
    assert profile._addons == []
    assert os.path.isfile(
        os.path.join(profile.profile, profile.preference_file_names[0]))

    other_profile = os.path.join(here, 'files', 'dummy-profile')
    profile.merge(other_profile)

    # make sure to add a pref file for each preference_file_names in the dummy-profile
    prefs = {}
    for name in profile.preference_file_names:
        path = os.path.join(profile.profile, name)
        assert os.path.isfile(path)

        try:
            prefs.update(Preferences.read_json(path))
        except ValueError:
            prefs.update(Preferences.read_prefs(path))

    assert 'foo' in prefs
    assert len(prefs) == len(profile.preference_file_names) + 1
    assert all(name in prefs for name in profile.preference_file_names)

    assert len(profile._addons) == 1
    assert profile._addons[0].endswith('empty.xpi')
    assert os.path.exists(profile._addons[0])
示例#4
0
def test_merge_profile(cls):
    profile = cls(preferences={"foo": "bar"})
    assert profile._addons == []
    assert os.path.isfile(
        os.path.join(profile.profile, profile.preference_file_names[0]))

    other_profile = os.path.join(here, "files", "dummy-profile")
    profile.merge(other_profile)

    # make sure to add a pref file for each preference_file_names in the dummy-profile
    prefs = {}
    for name in profile.preference_file_names:
        path = os.path.join(profile.profile, name)
        assert os.path.isfile(path)

        try:
            prefs.update(Preferences.read_json(path))
        except ValueError:
            prefs.update(Preferences.read_prefs(path))

    assert "foo" in prefs
    assert len(prefs) == len(profile.preference_file_names) + 1
    assert all(name in prefs for name in profile.preference_file_names)

    # for Google Chrome currently we ignore webext in profile prefs
    if cls == Profile:
        assert len(profile._addons) == 1
        assert profile._addons[0].endswith("empty.xpi")
        assert os.path.exists(profile._addons[0])
    else:
        assert len(profile._addons) == 0