diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/shell-prefs.js')
-rw-r--r-- | js/src/jit-test/tests/basic/shell-prefs.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/shell-prefs.js b/js/src/jit-test/tests/basic/shell-prefs.js new file mode 100644 index 0000000000..f0c2c8a251 --- /dev/null +++ b/js/src/jit-test/tests/basic/shell-prefs.js @@ -0,0 +1,24 @@ +// |jit-test| --setpref=site_based_pretenuring=false; --setpref=tests.uint32-pref=123450 + +let names = getAllPrefNames(); +assertEq(names.length > 0, true, "Expected at least one pref!"); +assertEq(new Set(names).size, names.length, "Unexpected duplicate pref name"); + +for (let name of names) { + let val = getPrefValue(name); + assertEq(typeof val === "number" || typeof val === "boolean", true); +} + +// Check that --setpref worked. Note: this is just an arbitrary pref. If we ever +// remove it, change this test to check a different one. +assertEq(getPrefValue("site_based_pretenuring"), false); +assertEq(getPrefValue("tests.uint32-pref"), 123450); + +// Must throw an exception for unknown pref names. +let ex; +try { + getPrefValue("some.invalid.pref"); +} catch (e) { + ex = e; +} +assertEq(ex.toString(), "Error: invalid pref name"); |