|
1 var Ci = Components.interfaces; |
|
2 var Cc = Components.classes; |
|
3 |
|
4 var nativeJSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON); |
|
5 |
|
6 function run_test() |
|
7 { |
|
8 function read_file(path) |
|
9 { |
|
10 try |
|
11 { |
|
12 var f = do_get_file(path); |
|
13 var istream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); |
|
14 istream.init(f, -1, -1, false); |
|
15 return nativeJSON.decodeFromStream(istream, istream.available()); |
|
16 } |
|
17 finally |
|
18 { |
|
19 istream.close(); |
|
20 } |
|
21 } |
|
22 |
|
23 var x = read_file("decodeFromStream-01.json"); |
|
24 do_check_eq(x["JSON Test Pattern pass3"]["The outermost value"], "must be an object or array."); |
|
25 do_check_eq(x["JSON Test Pattern pass3"]["In this test"], "It is an object."); |
|
26 |
|
27 x = read_file("decodeFromStream-small.json"); |
|
28 do_check_eq(x.toSource(), "({})", "empty object parsed"); |
|
29 } |