summaryrefslogtreecommitdiffstats
path: root/services/common/tests/unit/test_utils_json.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /services/common/tests/unit/test_utils_json.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'services/common/tests/unit/test_utils_json.js')
-rw-r--r--services/common/tests/unit/test_utils_json.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/services/common/tests/unit/test_utils_json.js b/services/common/tests/unit/test_utils_json.js
new file mode 100644
index 000000000..429ac6492
--- /dev/null
+++ b/services/common/tests/unit/test_utils_json.js
@@ -0,0 +1,40 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+Cu.import("resource://services-common/utils.js");
+Cu.import("resource://gre/modules/osfile.jsm");
+
+function run_test() {
+ initTestLogging();
+ run_next_test();
+}
+
+add_test(function test_writeJSON_readJSON() {
+ _("Round-trip some JSON through the promise-based JSON writer.");
+
+ let contents = {
+ "a": 12345.67,
+ "b": {
+ "c": "héllö",
+ },
+ "d": undefined,
+ "e": null,
+ };
+
+ function checkJSON(json) {
+ do_check_eq(contents.a, json.a);
+ do_check_eq(contents.b.c, json.b.c);
+ do_check_eq(contents.d, json.d);
+ do_check_eq(contents.e, json.e);
+ run_next_test();
+ };
+
+ function doRead() {
+ CommonUtils.readJSON(path)
+ .then(checkJSON, do_throw);
+ }
+
+ let path = OS.Path.join(OS.Constants.Path.profileDir, "bar.json");
+ CommonUtils.writeJSON(contents, path)
+ .then(doRead, do_throw);
+});