diff options
Diffstat (limited to 'toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js')
-rw-r--r-- | toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js b/toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js deleted file mode 100644 index c6c923187..000000000 --- a/toolkit/components/asyncshutdown/tests/xpcshell/test_converters.js +++ /dev/null @@ -1,88 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ -"use strict"; - -/** - * Test conversion between nsIPropertyBag and JS values. - */ - -var PropertyBagConverter = asyncShutdownService.wrappedJSObject._propertyBagConverter; - -function run_test() { - test_conversions(); -} - -function normalize(obj) { - if (obj == null || typeof obj != "object") { - return obj; - } - if (Array.isArray(obj)) { - return obj.map(normalize); - } - let result = {}; - for (let k of Object.keys(obj).sort()) { - result[k] = normalize(obj[k]); - } - return result; -} - -function test_conversions() { - const SAMPLES = [ - // Simple values - 1, - true, - "string", - null, - - // Objects - { - a: 1, - b: true, - c: "string", - d:.5, - e: [2, false, "another string", .3], - f: [], - g: { - a2: 1, - b2: true, - c2: "string", - d2:.5, - e2: [2, false, "another string", .3], - f2: [], - g2: [{ - a3: 1, - b3: true, - c3: "string", - d3:.5, - e3: [2, false, "another string", .3], - f3: [], - g3: {} - }] - } - }]; - - for (let sample of SAMPLES) { - let stringified = JSON.stringify(normalize(sample), null, "\t"); - do_print("Testing conversions of " + stringified); - let rewrites = [sample]; - for (let i = 1; i < 3; ++i) { - let source = rewrites[i - 1]; - let bag = PropertyBagConverter.fromValue(source); - do_print(" => " + bag); - if (source == null) { - Assert.ok(bag == null, "The bag is null"); - } else if (typeof source == "object") { - Assert.ok(bag instanceof Ci.nsIPropertyBag, "The bag is a property bag"); - } else { - Assert.ok(typeof bag != "object", "The bag is not an object"); - } - let dest = PropertyBagConverter.toValue(bag); - let restringified = JSON.stringify(normalize(dest), null, "\t"); - do_print("Comparing"); - do_print(stringified); - do_print(restringified); - Assert.deepEqual(sample, dest, "Testing after " + i + " conversions"); - rewrites.push(dest); - } - } -} |