зеркало из https://github.com/mozilla/gecko-dev.git
30 строки
852 B
JavaScript
30 строки
852 B
JavaScript
|
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");
|
||
|
}
|