shell-prefs.js (1195B)
1 // |jit-test| --setpref=site_based_pretenuring=false; --setpref=tests.uint32-pref=123450 2 3 load(libdir + "asserts.js"); 4 5 let names = getAllPrefNames(); 6 assertEq(names.length > 0, true, "Expected at least one pref!"); 7 assertEq(new Set(names).size, names.length, "Unexpected duplicate pref name"); 8 9 for (let name of names) { 10 let val = getPrefValue(name); 11 assertEq(typeof val === "number" || typeof val === "boolean", true); 12 } 13 14 // Check that --setpref worked. Note: this is just an arbitrary pref. If we ever 15 // remove it, change this test to check a different one. 16 assertEq(getPrefValue("site_based_pretenuring"), false); 17 assertEq(getPrefValue("tests.uint32-pref"), 123450); 18 19 // We can set prefs at runtime 20 setPrefValue("tests.uint32-pref", 54321); 21 assertEq(getPrefValue("tests.uint32-pref"), 54321); 22 23 // But not prefs that are only set at startup 24 assertErrorMessage(() => setPrefValue("site_based_pretenuring", true), 25 Error, /startup pref/); 26 assertEq(getPrefValue("site_based_pretenuring"), false); 27 28 // Must throw an exception for unknown pref names. 29 let ex; 30 try { 31 getPrefValue("some.invalid.pref"); 32 } catch (e) { 33 ex = e; 34 } 35 assertEq(ex.toString(), "Error: invalid pref name");