OLD | NEW |
1 <!DOCTYPE HTML> | 1 <!DOCTYPE HTML> |
2 <html> | 2 <html> |
3 <script src='test.js'></script> | 3 <script src='test.js'></script> |
4 <script src='call_function.js'></script> | 4 <script src='call_function.js'></script> |
5 <script> | 5 <script> |
6 | 6 |
7 function testCallFunctionNoArgs() { | 7 function testCallFunctionNoArgs() { |
8 var result = callFunction(function() { return 1; }, []); | 8 var result = callFunction(function() { return 1; }, []); |
9 assertEquals(0, result.status); | 9 assertEquals(0, result.status); |
10 assertEquals(1, result.value); | 10 assertEquals(1, result.value); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 assertEquals(null, cache.wrap(null)); | 56 assertEquals(null, cache.wrap(null)); |
57 assertEquals(null, cache.unwrap(null)); | 57 assertEquals(null, cache.unwrap(null)); |
58 assertEquals(undefined, cache.wrap(undefined)); | 58 assertEquals(undefined, cache.wrap(undefined)); |
59 assertEquals(undefined, cache.unwrap(undefined)); | 59 assertEquals(undefined, cache.unwrap(undefined)); |
60 function func() {} | 60 function func() {} |
61 assertEquals(func, cache.wrap(func)); | 61 assertEquals(func, cache.wrap(func)); |
62 assertEquals(func, cache.unwrap(func)); | 62 assertEquals(func, cache.unwrap(func)); |
63 | 63 |
64 var arr = [1, new Array(1, new Object({a: 1, b: {a: 1, b: {}, c: 3}}), 3)]; | 64 var arr = [1, new Array(1, new Object({a: 1, b: {a: 1, b: {}, c: 3}}), 3)]; |
65 var originalJson = JSON.stringify(arr); | 65 var originalJson = JSON.stringify(arr); |
66 arr[1][1].b.b[ELEMENT_KEY] = cache.nextId_; | 66 arr[1][1].b.b[ELEMENT_KEY] = cache.nextId_.toString(); |
67 var wrappedJson = JSON.stringify(arr); | 67 var wrappedJson = JSON.stringify(arr); |
68 arr[1][1].b.b = document; | 68 arr[1][1].b.b = document; |
69 assertEquals(wrappedJson, JSON.stringify(cache.wrap(arr))); | 69 assertEquals(wrappedJson, JSON.stringify(cache.wrap(arr))); |
70 var unwrapped = cache.unwrap(JSON.parse(wrappedJson)); | 70 var unwrapped = cache.unwrap(JSON.parse(wrappedJson)); |
71 assertEquals(document, unwrapped[1][1].b.b); | 71 assertEquals(document, unwrapped[1][1].b.b); |
72 unwrapped[1][1].b.b = {}; | 72 unwrapped[1][1].b.b = {}; |
73 assertEquals(originalJson, JSON.stringify(unwrapped)); | 73 assertEquals(originalJson, JSON.stringify(unwrapped)); |
74 } | 74 } |
75 | 75 |
76 function testCacheDoubleWrap() { | 76 function testCacheDoubleWrap() { |
77 var cache = new Cache(); | 77 var cache = new Cache(); |
78 assertEquals(cache.wrap(document)[ELEMENT_KEY], | 78 assertEquals(cache.wrap(document)[ELEMENT_KEY], |
79 cache.wrap(document)[ELEMENT_KEY]); | 79 cache.wrap(document)[ELEMENT_KEY]); |
80 } | 80 } |
81 | 81 |
82 function testCacheUnwrapThrows() { | 82 function testCacheUnwrapThrows() { |
83 try { | 83 try { |
84 var cache = new Cache(); | 84 var cache = new Cache(); |
85 var wrapped = {}; | 85 var wrapped = {}; |
86 wrapped[ELEMENT_KEY] = 1; | 86 wrapped[ELEMENT_KEY] = '1'; |
87 cache.unwrap(wrapped); | 87 cache.unwrap(wrapped); |
88 } catch (e) { | 88 } catch (e) { |
89 return; | 89 return; |
90 } | 90 } |
91 assert(false); | 91 assert(false); |
92 } | 92 } |
93 | 93 |
94 function testClearStale() { | 94 function testClearStale() { |
95 var doc = document; | 95 var doc = document; |
96 var div = doc.querySelector('div'); | 96 var div = doc.querySelector('div'); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 return; | 140 return; |
141 } | 141 } |
142 assert(false); | 142 assert(false); |
143 } | 143 } |
144 | 144 |
145 </script> | 145 </script> |
146 <body> | 146 <body> |
147 <div><span></span></div> | 147 <div><span></span></div> |
148 </body> | 148 </body> |
149 </html> | 149 </html> |
OLD | NEW |