diff options
Diffstat (limited to 'dom/json/test/unit/test_decodeFromStream.js')
-rw-r--r-- | dom/json/test/unit/test_decodeFromStream.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/dom/json/test/unit/test_decodeFromStream.js b/dom/json/test/unit/test_decodeFromStream.js new file mode 100644 index 000000000..eb30d2619 --- /dev/null +++ b/dom/json/test/unit/test_decodeFromStream.js @@ -0,0 +1,29 @@ +var Ci = Components.interfaces; +var Cc = Components.classes; + +var nativeJSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON); + +function run_test() +{ + function read_file(path) + { + try + { + var f = do_get_file(path); + var istream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); + istream.init(f, -1, -1, false); + return nativeJSON.decodeFromStream(istream, istream.available()); + } + finally + { + istream.close(); + } + } + + var x = read_file("decodeFromStream-01.json"); + do_check_eq(x["JSON Test Pattern pass3"]["The outermost value"], "must be an object or array."); + do_check_eq(x["JSON Test Pattern pass3"]["In this test"], "It is an object."); + + x = read_file("decodeFromStream-small.json"); + do_check_eq(x.toSource(), "({})", "empty object parsed"); +} |