diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-02-25 15:07:00 -0500 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 12:55:19 +0200 |
commit | eb70e6e3d0bff11c25f14b1196025791bf2308fb (patch) | |
tree | 5ef4ce17db83c74d7b05ec12c8f59e095a6dd5bd /toolkit/components/contentprefs/tests/unit/test_contentPrefsCache.js | |
parent | 32ead795290b3399d56b4708fc75b77d296f6a1a (diff) | |
download | UXP-eb70e6e3d0bff11c25f14b1196025791bf2308fb.tar UXP-eb70e6e3d0bff11c25f14b1196025791bf2308fb.tar.gz UXP-eb70e6e3d0bff11c25f14b1196025791bf2308fb.tar.lz UXP-eb70e6e3d0bff11c25f14b1196025791bf2308fb.tar.xz UXP-eb70e6e3d0bff11c25f14b1196025791bf2308fb.zip |
Issue #439 - Remove tests from toolkit/
Diffstat (limited to 'toolkit/components/contentprefs/tests/unit/test_contentPrefsCache.js')
-rw-r--r-- | toolkit/components/contentprefs/tests/unit/test_contentPrefsCache.js | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/toolkit/components/contentprefs/tests/unit/test_contentPrefsCache.js b/toolkit/components/contentprefs/tests/unit/test_contentPrefsCache.js deleted file mode 100644 index 38a2faddc..000000000 --- a/toolkit/components/contentprefs/tests/unit/test_contentPrefsCache.js +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -var cps = new ContentPrefInstance(null); - -function run_test() { - testCacheWorks("test1.example.com", "test-pref1"); - testHasCachedPrefFunction("test2.example.com", "test-pref2"); - testSetCaches("test3.example.com", "test-pref3"); - testGetCaches("test4.example.com", "test-pref4"); - testRemovePrefs("test5.example.com", "test-pref5"); - testTypeConversions("test6.example.com", "test-pref6"); - testNonExistingPrefCachesAsUndefined("test7.example.com", "test-pref7"); - testCacheEviction("test8.example.com", "test-pref8"); -} - -function testCacheWorks(uri, prefName) { - const CACHED_VALUE = 3; - const NEW_VALUE = 5; - - cps.setPref(uri, prefName, CACHED_VALUE); - do_check_eq(cps.getPref(uri, prefName), CACHED_VALUE); - - // Now change the value directly through the DB and check - // that the cached value is different - - let groupId = selectValue("SELECT id FROM groups WHERE name = :param1", "id", uri); - let settingId = selectValue("SELECT id FROM settings WHERE name = :param1", "id", prefName); - let prefId = selectValue("SELECT id FROM prefs WHERE groupID = :param1 AND settingID = :param2", - "id", groupId, settingId); - - let stmt = cps.DBConnection.createStatement("UPDATE prefs SET value = :value WHERE id = :id"); - stmt.params.value = NEW_VALUE; - stmt.params.id = prefId; - stmt.execute(); - - let dbValue = selectValue("SELECT value FROM prefs WHERE id = :param1", "value", prefId); - let cacheValue = cps.getPref(uri, prefName); - - do_check_eq(dbValue, NEW_VALUE); - do_check_eq(cacheValue, CACHED_VALUE); - do_check_neq(cacheValue, dbValue); - - do_test_pending(); - cps.getPref(uri, prefName, function (value) { - do_check_eq(dbValue, NEW_VALUE); - do_check_eq(value, CACHED_VALUE); - do_check_neq(value, dbValue); - do_test_finished(); - }); -} - -function testHasCachedPrefFunction(uri, prefName) { - const STARTING_VALUE = 3; - const NEW_VALUE = 5; - - do_check_false(isCached(uri, prefName)); - - cps.setPref(uri, prefName, STARTING_VALUE); - - let groupId = selectValue("SELECT id FROM groups WHERE name = :param1", "id", uri); - let settingId = selectValue("SELECT id FROM settings WHERE name = :param1", "id", prefName); - let prefId = selectValue("SELECT id FROM prefs WHERE groupID = :param1 AND settingID = :param2", - "id", groupId, settingId); - - do_check_neq(prefId, undefined); - - let originalValue = selectValue("SELECT value FROM prefs WHERE id = :param1", "value", prefId); - do_check_eq(originalValue, STARTING_VALUE); - - let stmt = cps.DBConnection.createStatement("UPDATE prefs SET value = :value WHERE id = :id"); - stmt.params.value = NEW_VALUE; - stmt.params.id = prefId; - stmt.execute(); - - let newValue = selectValue("SELECT value FROM prefs WHERE id = :param1", "value", prefId); - do_check_eq(newValue, NEW_VALUE); - - let cachedValue = cps.getPref(uri, prefName); - do_check_eq(cachedValue, STARTING_VALUE); - do_check_true(isCached(uri, prefName)); -} - -function testSetCaches(uri, prefName) { - cps.setPref(uri, prefName, 0); - do_check_true(isCached(uri, prefName)); -} - -function testRemovePrefs(uri, prefName) { - - /* removePref */ - cps.setPref("www1." + uri, prefName, 1); - - do_check_eq(cps.getPref("www1." + uri, prefName), 1); - - cps.removePref("www1." + uri, prefName); - - do_check_false(isCached("www1." + uri, prefName)); - do_check_false(cps.hasPref("www1." + uri, prefName)); - do_check_neq(cps.getPref("www1." + uri, prefName), 1); - - /* removeGroupedPrefs */ - cps.setPref("www2." + uri, prefName, 2); - cps.setPref("www3." + uri, prefName, 3); - - do_check_eq(cps.getPref("www2." + uri, prefName), 2); - do_check_eq(cps.getPref("www3." + uri, prefName), 3); - - cps.removeGroupedPrefs(); - - do_check_false(isCached("www2." + uri, prefName)); - do_check_false(isCached("www3." + uri, prefName)); - do_check_false(cps.hasPref("www2." + uri, prefName)); - do_check_false(cps.hasPref("www3." + uri, prefName)); - do_check_neq(cps.getPref("www2." + uri, prefName), 2); - do_check_neq(cps.getPref("www3." + uri, prefName), 3); - - /* removePrefsByName */ - cps.setPref("www4." + uri, prefName, 4); - cps.setPref("www5." + uri, prefName, 5); - - do_check_eq(cps.getPref("www4." + uri, prefName), 4); - do_check_eq(cps.getPref("www5." + uri, prefName), 5); - - cps.removePrefsByName(prefName); - - do_check_false(isCached("www4." + uri, prefName)); - do_check_false(isCached("www5." + uri, prefName)); - do_check_false(cps.hasPref("www4." + uri, prefName)); - do_check_false(cps.hasPref("www5." + uri, prefName)); - do_check_neq(cps.getPref("www4." + uri, prefName), 4); - do_check_neq(cps.getPref("www5." + uri, prefName), 5); -} - -function testGetCaches(uri, prefName) { - const VALUE = 4; - - let insertGroup = cps.DBConnection.createStatement("INSERT INTO groups (name) VALUES (:name)"); - insertGroup.params.name = uri; - insertGroup.execute(); - let groupId = cps.DBConnection.lastInsertRowID; - - let insertSetting = cps.DBConnection.createStatement("INSERT INTO settings (name) VALUES (:name)"); - insertSetting.params.name = prefName; - insertSetting.execute(); - let settingId = cps.DBConnection.lastInsertRowID; - - let insertPref = cps.DBConnection.createStatement(` - INSERT INTO prefs (groupID, settingID, value) - VALUES (:groupId, :settingId, :value) - `); - insertPref.params.groupId = groupId; - insertPref.params.settingId = settingId; - insertPref.params.value = VALUE; - insertPref.execute(); - let prefId = cps.DBConnection.lastInsertRowID; - - let dbValue = selectValue("SELECT value FROM prefs WHERE id = :param1", "value", prefId); - - // First access from service should hit the DB - let svcValue = cps.getPref(uri, prefName); - - // Second time should get the value from cache - let cacheValue = cps.getPref(uri, prefName); - - do_check_eq(VALUE, dbValue); - do_check_eq(VALUE, svcValue); - do_check_eq(VALUE, cacheValue); - - do_check_true(isCached(uri, prefName)); -} - -function testTypeConversions(uri, prefName) { - let value; - - cps.setPref(uri, prefName, true); - value = cps.getPref(uri, prefName); - do_check_true(value === 1); - - cps.setPref(uri, prefName, false); - value = cps.getPref(uri, prefName); - do_check_true(value === 0); - - cps.setPref(uri, prefName, null); - value = cps.getPref(uri, prefName); - do_check_true(value === null); - - cps.setPref(uri, prefName, undefined); - value = cps.getPref(uri, prefName); - do_check_true(value === null); -} - -function testNonExistingPrefCachesAsUndefined(uri, prefName) { - - do_check_false(isCached(uri, prefName)); - - // Cache the pref - let value = cps.getPref(uri, prefName); - do_check_true(value === undefined); - - do_check_true(isCached(uri, prefName)); - - // Cached pref - value = cps.getPref(uri, prefName); - do_check_true(value === undefined); -} - -function testCacheEviction(uri, prefName) { - - cps.setPref(uri, prefName, 5); - do_check_eq(cps.getPref(uri, prefName), 5); - do_check_true(isCached(uri, prefName)); - - // try to evict value from cache by adding various other entries - const ENTRIES_TO_ADD = 200; - for (let i = 0; i < ENTRIES_TO_ADD; i++) { - let uriToAdd = "www" + i + uri; - cps.setPref(uriToAdd, prefName, 0); - } - - do_check_false(isCached(uri, prefName)); - -} - -function selectValue(stmt, columnName, param1, param2) { - stmt = cps.DBConnection.createStatement(stmt); - if (param1) - stmt.params.param1 = param1; - - if (param2) - stmt.params.param2 = param2; - - stmt.executeStep(); - let val = stmt.row[columnName]; - stmt.reset(); - stmt.finalize(); - return val; -} - -function isCached(uri, prefName) { - return cps.hasCachedPref(uri, prefName); -} |