Changeset 181810 in webkit
- Timestamp:
- Mar 20, 2015, 1:12:10 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 3 deleted
- 45 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r181809 r181810 1 2015-03-19 Geoffrey Garen <ggaren@apple.com> 2 3 Function.prototype.toString should not decompile the AST 4 https://bugs.webkit.org/show_bug.cgi?id=142853 5 6 Reviewed by Sam Weinig. 7 8 Updated test results to match new rules for Function.prototype.toString. 9 10 * fast/dom/TreeWalker/acceptNode-filter-expected.txt: Removed a space 11 because it was not in the original source. 12 13 * fast/events/window-onerror2-expected.txt: Column number changed because 14 the event listener body starts on its own line now. This was a bit wrong 15 before and is still a bit wrong now in a different way. 16 17 * fast/profiler/dead-time-expected.txt: 18 * fast/profiler/inline-event-handler-expected.txt: 19 * fast/profiler/stop-profiling-after-setTimeout-expected.txt: Line number 20 changed because WebCore shifts line nubmers on attribute event listeners 21 by one. 22 23 * js/class-syntax-default-constructor-expected.txt: Constructor name 24 is not present now because it is not present in the source text. This 25 test failed before and it still fails now in a slightly different way. 26 27 * js/destructuring-assignment-expected.txt: Destructuring arguments now 28 match their source text faithfully. 29 30 * js/dfg-redundant-load-of-captured-variable-proven-constant-expected.txt: 31 Removed a space because it was not present in the original source text. 32 33 * js/dfg-resolve-global-specific-dictionary-expected.txt: Ditto. 34 35 * js/function-toString-semicolon-insertion-expected.txt: Removed. 36 * js/script-tests/function-toString-semicolon-insertion.js: Removed. 37 * js/function-toString-semicolon-insertion.html: Removed. This test checked 38 for a work-around that I have removed. 39 40 * js/object-literal-computed-methods-expected.txt: 41 * js/object-literal-methods-expected.txt: These tests fail because object 42 literal methods do not register their function names appropriately. This 43 was a pre-existing failure that is now more explicit. 44 45 * js/dom/JSON-parse-expected.txt: 46 * js/dom/JSON-stringify-expected.txt: Whitespace removed because it was 47 not present in the original. 48 49 * js/dom/dfg-strcat-over-objects-then-exit-on-it-expected.txt: Ditto. 50 51 * js/dom/function-prototype-expected.txt: 52 * js/dom/function-prototype.html: Ditto. 53 54 * js/dom/parse-error-external-script-in-new-Function-expected.txt: Line 55 changed by one due to new extra newline. 56 57 * js/dom/script-start-end-locations-expected.txt: Lines and columns 58 changed due to new extra newline. 59 60 * js/dom/toString-and-valueOf-override-expected.txt: Whitespace removed 61 because it was not present in the original. 62 63 * js/dom/script-tests/dfg-strcat-over-objects-then-exit-on-it.js: Ditto. 64 65 * js/kde/lval-exceptions-expected.txt: Ditto. 66 67 * js/script-tests/dfg-redundant-load-of-captured-variable-proven-constant.js: Ditto. 68 69 * js/script-tests/dfg-resolve-global-specific-dictionary.js: Ditto. 70 71 * platform/mac/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt: Ditto. 72 73 * storage/domstorage/localstorage/string-conversion-expected.txt: Ditto. 74 75 * storage/domstorage/sessionstorage/string-conversion-expected.txt: Ditto. 76 77 * userscripts/window-onerror-for-isolated-world-1-expected.txt: 78 * userscripts/window-onerror-for-isolated-world-2-expected.txt: Line numbers 79 changed because of new anonymous function formatting. These line numbers 80 were wrong before and they are still wrong now. 81 1 82 2015-03-20 Brent Fulgham <bfulgham@apple.com> 2 83 -
trunk/LayoutTests/fast/dom/TreeWalker/acceptNode-filter-expected.txt
r180441 r181810 43 43 44 44 Testing acceptNode callee 45 Callee: function 45 Callee: function(node) { 46 46 debug('Callee: ' + arguments.callee); 47 47 return NodeFilter.FILTER_ACCEPT; -
trunk/LayoutTests/fast/events/window-onerror2-expected.txt
r181673 r181810 2 2 3 3 Main frame window.onerror: Error: Inline script exception at window-onerror2.html, line: 34, column: 47 4 Main frame window.onerror: Exception in onload at window-onerror2.html, line: 2, column: 1674 Main frame window.onerror: Exception in onload at window-onerror2.html, line: 2, column: 66 5 5 Main frame window.onerror: Error: Exception in setTimeout at window-onerror2.html, line: 29, column: 47 6 6 -
trunk/LayoutTests/fast/profiler/dead-time-expected.txt
r181673 r181810 5 5 Profile title: Dead time in profile. 6 6 Thread_1 (no file) (line 0:0) 7 onload dead-time.html (line 2 1:45)7 onload dead-time.html (line 20:52) 8 8 startTest dead-time.html (line 13:1) 9 9 setTimeout (no file) (line 0:0) -
trunk/LayoutTests/fast/profiler/inline-event-handler-expected.txt
r181673 r181810 8 8 getElementById (no file) (line 0:0) 9 9 click (no file) (line 0:0) 10 onclick inline-event-handler.html (line 3 1:127)10 onclick inline-event-handler.html (line 30:135) 11 11 eventListener inline-event-handler.html (line 17:26) 12 12 anonymousFunction profiler-test-JS-resources.js (line 29:37) -
trunk/LayoutTests/fast/profiler/stop-profiling-after-setTimeout-expected.txt
r181673 r181810 5 5 Profile title: Stop profiling from a timeout 6 6 Thread_1 (no file) (line 0:0) 7 onload stop-profiling-after-setTimeout.html (line 2 1:45)7 onload stop-profiling-after-setTimeout.html (line 20:52) 8 8 startTest stop-profiling-after-setTimeout.html (line 13:1) 9 9 setTimeout (no file) (line 0:0) -
trunk/LayoutTests/js/class-syntax-default-constructor-expected.txt
r181618 r181810 12 12 PASS B.prototype.constructor.name is "B" 13 13 PASS A !== B is true 14 FAIL A.prototype.constructor should be function B() { super(...arguments); }. Was function A() { }.14 FAIL A.prototype.constructor should be function () { super(...arguments); }. Was function () { }. 15 15 PASS new (class extends (class { constructor(a, b) { return [a, b]; } }) {})(1, 2) is [1, 2] 16 16 PASS successfullyParsed is true -
trunk/LayoutTests/js/destructuring-assignment-expected.txt
r172381 r181810 7 7 Function as String: (function([a,b]) { return a+b;}) 8 8 PASS (function([a,b]) { return a+b;})(['1','2']) is '12' 9 PASS (function 9 PASS (function([a,b]) { return a+b;})(['1','2']) is '12' 10 10 PASS ([a,b]=['1','2']); var r=a+b; r is '12' 11 11 PASS [a,b]=['1','2']; var r=a+b; r is '12' … … 13 13 Function as String: (function({a,b}) { return a+b;}) 14 14 PASS (function({a,b}) { return a+b;})({a:'1',b:'2'}) is '12' 15 PASS (function ({a:a,b:b}) { return a+b;})({a:'1',b:'2'}) is '12'15 PASS (function({a,b}) { return a+b;})({a:'1',b:'2'}) is '12' 16 16 PASS ({a,b}={a:'1',b:'2'}); var r=a+b; r is '12' 17 17 PASS var {c:a,d:b}={c:'1',d:'2'}; var r=a+b; r is '12' 18 18 Function as String: (function({c:a,d:b}) { return a+b;}) 19 19 PASS (function({c:a,d:b}) { return a+b;})({c:'1',d:'2'}) is '12' 20 PASS (function 20 PASS (function({c:a,d:b}) { return a+b;})({c:'1',d:'2'}) is '12' 21 21 PASS ({c:a,d:b}={c:'1',d:'2'}); var r=a+b; r is '12' 22 22 PASS var {c:b,d:a}={c:'1',d:'2'}; var r=a+b; r is '21' 23 23 Function as String: (function({c:b,d:a}) { return a+b;}) 24 24 PASS (function({c:b,d:a}) { return a+b;})({c:'1',d:'2'}) is '21' 25 PASS (function 25 PASS (function({c:b,d:a}) { return a+b;})({c:'1',d:'2'}) is '21' 26 26 PASS ({c:b,d:a}={c:'1',d:'2'}); var r=a+b; r is '21' 27 27 PASS var {true:a,false:b,undefined:c,null:d,in:e,for:f,1.5:g,'foo bar':h}={true:'a',false:'b',undefined:'c',null:'d',in:'e',for:'f',1.5:'g','foo bar':'h'}; var r=a+b+c+d+e+f+g+h; r is 'abcdefgh' 28 28 Function as String: (function({true:a,false:b,undefined:c,null:d,in:e,for:f,1.5:g,'foo bar':h}) { return a+b+c+d+e+f+g+h;}) 29 29 PASS (function({true:a,false:b,undefined:c,null:d,in:e,for:f,1.5:g,'foo bar':h}) { return a+b+c+d+e+f+g+h;})({true:'a',false:'b',undefined:'c',null:'d',in:'e',for:'f',1.5:'g','foo bar':'h'}) is 'abcdefgh' 30 PASS (function ({true:a,false:b,undefined:c,null:d,in:e,for:f,1.5:g,"foo bar":h}) { return a+b+c+d+e+f+g+h;})({true:'a',false:'b',undefined:'c',null:'d',in:'e',for:'f',1.5:'g','foo bar':'h'}) is 'abcdefgh'30 PASS (function({true:a,false:b,undefined:c,null:d,in:e,for:f,1.5:g,'foo bar':h}) { return a+b+c+d+e+f+g+h;})({true:'a',false:'b',undefined:'c',null:'d',in:'e',for:'f',1.5:'g','foo bar':'h'}) is 'abcdefgh' 31 31 PASS ({true:a,false:b,undefined:c,null:d,in:e,for:f,1.5:g,'foo bar':h}={true:'a',false:'b',undefined:'c',null:'d',in:'e',for:'f',1.5:'g','foo bar':'h'}); var r=a+b+c+d+e+f+g+h; r is 'abcdefgh' 32 32 PASS var [{c:a,d:b}]=[{c:'1',d:'2'}]; var r=a+b; r is '12' 33 33 Function as String: (function([{c:a,d:b}]) { return a+b;}) 34 34 PASS (function([{c:a,d:b}]) { return a+b;})([{c:'1',d:'2'}]) is '12' 35 PASS (function 35 PASS (function([{c:a,d:b}]) { return a+b;})([{c:'1',d:'2'}]) is '12' 36 36 PASS ([{c:a,d:b}]=[{c:'1',d:'2'}]); var r=a+b; r is '12' 37 37 PASS [{c:a,d:b}]=[{c:'1',d:'2'}]; var r=a+b; r is '12' … … 39 39 Function as String: (function({x:[{c:a,d:b}]}) { return a+b;}) 40 40 PASS (function({x:[{c:a,d:b}]}) { return a+b;})({x:[{c:'1',d:'2'}]}) is '12' 41 PASS (function 41 PASS (function({x:[{c:a,d:b}]}) { return a+b;})({x:[{c:'1',d:'2'}]}) is '12' 42 42 PASS ({x:[{c:a,d:b}]}={x:[{c:'1',d:'2'}]}); var r=a+b; r is '12' 43 43 PASS var [a,b]=anArray; var r=a+b; r is '12' 44 44 Function as String: (function([a,b]) { return a+b;}) 45 45 PASS (function([a,b]) { return a+b;})(anArray) is '12' 46 PASS (function 46 PASS (function([a,b]) { return a+b;})(anArray) is '12' 47 47 PASS ([a,b]=anArray); var r=a+b; r is '12' 48 48 PASS [a,b]=anArray; var r=a+b; r is '12' … … 50 50 Function as String: (function({a,b}) { return a+b;}) 51 51 PASS (function({a,b}) { return a+b;})(anArray) is '34' 52 PASS (function ({a:a,b:b}) { return a+b;})(anArray) is '34'52 PASS (function({a,b}) { return a+b;})(anArray) is '34' 53 53 PASS ({a,b}=anArray); var r=a+b; r is '34' 54 54 PASS var {a:a,b:b}=anArray; var r=a+b; r is '34' 55 55 Function as String: (function({a:a,b:b}) { return a+b;}) 56 56 PASS (function({a:a,b:b}) { return a+b;})(anArray) is '34' 57 PASS (function 57 PASS (function({a:a,b:b}) { return a+b;})(anArray) is '34' 58 58 PASS ({a:a,b:b}=anArray); var r=a+b; r is '34' 59 59 PASS var {a,b}=anObject; var r=a+b; r is '12' 60 60 Function as String: (function({a,b}) { return a+b;}) 61 61 PASS (function({a,b}) { return a+b;})(anObject) is '12' 62 PASS (function ({a:a,b:b}) { return a+b;})(anObject) is '12'62 PASS (function({a,b}) { return a+b;})(anObject) is '12' 63 63 PASS ({a,b}=anObject); var r=a+b; r is '12' 64 64 PASS var {a:a,b:b}=anObject; var r=a+b; r is '12' 65 65 Function as String: (function({a:a,b:b}) { return a+b;}) 66 66 PASS (function({a:a,b:b}) { return a+b;})(anObject) is '12' 67 PASS (function 67 PASS (function({a:a,b:b}) { return a+b;})(anObject) is '12' 68 68 PASS ({a:a,b:b}=anObject); var r=a+b; r is '12' 69 69 PASS var {0:a,1:b}=anObject; var r=a+b; r is '34' 70 70 Function as String: (function({0:a,1:b}) { return a+b;}) 71 71 PASS (function({0:a,1:b}) { return a+b;})(anObject) is '34' 72 PASS (function 72 PASS (function({0:a,1:b}) { return a+b;})(anObject) is '34' 73 73 PASS ({0:a,1:b}=anObject); var r=a+b; r is '34' 74 74 PASS var {'a':a,'b':b}=anObject; var r=a+b; r is '12' 75 75 Function as String: (function({'a':a,'b':b}) { return a+b;}) 76 76 PASS (function({'a':a,'b':b}) { return a+b;})(anObject) is '12' 77 PASS (function ({"a":a,"b":b}) { return a+b;})(anObject) is '12'77 PASS (function({'a':a,'b':b}) { return a+b;})(anObject) is '12' 78 78 PASS ({'a':a,'b':b}=anObject); var r=a+b; r is '12' 79 79 PASS a+b is '1122' -
trunk/LayoutTests/js/dfg-redundant-load-of-captured-variable-proven-constant-expected.txt
r129948 r181810 4 4 5 5 6 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"7 PASS "" + foo(o, i % 2) is "function 8 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"9 PASS "" + foo(o, i % 2) is "function 10 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"11 PASS "" + foo(o, i % 2) is "function 12 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"13 PASS "" + foo(o, i % 2) is "function 14 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"15 PASS "" + foo(o, i % 2) is "function 16 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"17 PASS "" + foo(o, i % 2) is "function 18 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"19 PASS "" + foo(o, i % 2) is "function 20 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"21 PASS "" + foo(o, i % 2) is "function 22 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"23 PASS "" + foo(o, i % 2) is "function 24 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"25 PASS "" + foo(o, i % 2) is "function 26 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"27 PASS "" + foo(o, i % 2) is "function 28 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"29 PASS "" + foo(o, i % 2) is "function 30 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"31 PASS "" + foo(o, i % 2) is "function 32 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"33 PASS "" + foo(o, i % 2) is "function 34 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"35 PASS "" + foo(o, i % 2) is "function 36 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"37 PASS "" + foo(o, i % 2) is "function 38 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"39 PASS "" + foo(o, i % 2) is "function 40 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"41 PASS "" + foo(o, i % 2) is "function 42 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"43 PASS "" + foo(o, i % 2) is "function 44 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"45 PASS "" + foo(o, i % 2) is "function 46 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"47 PASS "" + foo(o, i % 2) is "function 48 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"49 PASS "" + foo(o, i % 2) is "function 50 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"51 PASS "" + foo(o, i % 2) is "function 52 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"53 PASS "" + foo(o, i % 2) is "function 54 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"55 PASS "" + foo(o, i % 2) is "function 56 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"57 PASS "" + foo(o, i % 2) is "function 58 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"59 PASS "" + foo(o, i % 2) is "function 60 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"61 PASS "" + foo(o, i % 2) is "function 62 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"63 PASS "" + foo(o, i % 2) is "function 64 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"65 PASS "" + foo(o, i % 2) is "function 66 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"67 PASS "" + foo(o, i % 2) is "function 68 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"69 PASS "" + foo(o, i % 2) is "function 70 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"71 PASS "" + foo(o, i % 2) is "function 72 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"73 PASS "" + foo(o, i % 2) is "function 74 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"75 PASS "" + foo(o, i % 2) is "function 76 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"77 PASS "" + foo(o, i % 2) is "function 78 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"79 PASS "" + foo(o, i % 2) is "function 80 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"81 PASS "" + foo(o, i % 2) is "function 82 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"83 PASS "" + foo(o, i % 2) is "function 84 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"85 PASS "" + foo(o, i % 2) is "function 86 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"87 PASS "" + foo(o, i % 2) is "function 88 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"89 PASS "" + foo(o, i % 2) is "function 90 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"91 PASS "" + foo(o, i % 2) is "function 92 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"93 PASS "" + foo(o, i % 2) is "function 94 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"95 PASS "" + foo(o, i % 2) is "function 96 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"97 PASS "" + foo(o, i % 2) is "function 98 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"99 PASS "" + foo(o, i % 2) is "function 100 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"101 PASS "" + foo(o, i % 2) is "function 102 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"103 PASS "" + foo(o, i % 2) is "function 104 PASS "" + foo(o, i % 2) is "function () { return 32; },function() { return 32; }"105 PASS "" + foo(o, i % 2) is "function 6 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 7 PASS "" + foo(o, i % 2) is "function() { return x; }" 8 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 9 PASS "" + foo(o, i % 2) is "function() { return x; }" 10 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 11 PASS "" + foo(o, i % 2) is "function() { return x; }" 12 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 13 PASS "" + foo(o, i % 2) is "function() { return x; }" 14 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 15 PASS "" + foo(o, i % 2) is "function() { return x; }" 16 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 17 PASS "" + foo(o, i % 2) is "function() { return x; }" 18 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 19 PASS "" + foo(o, i % 2) is "function() { return x; }" 20 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 21 PASS "" + foo(o, i % 2) is "function() { return x; }" 22 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 23 PASS "" + foo(o, i % 2) is "function() { return x; }" 24 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 25 PASS "" + foo(o, i % 2) is "function() { return x; }" 26 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 27 PASS "" + foo(o, i % 2) is "function() { return x; }" 28 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 29 PASS "" + foo(o, i % 2) is "function() { return x; }" 30 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 31 PASS "" + foo(o, i % 2) is "function() { return x; }" 32 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 33 PASS "" + foo(o, i % 2) is "function() { return x; }" 34 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 35 PASS "" + foo(o, i % 2) is "function() { return x; }" 36 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 37 PASS "" + foo(o, i % 2) is "function() { return x; }" 38 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 39 PASS "" + foo(o, i % 2) is "function() { return x; }" 40 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 41 PASS "" + foo(o, i % 2) is "function() { return x; }" 42 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 43 PASS "" + foo(o, i % 2) is "function() { return x; }" 44 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 45 PASS "" + foo(o, i % 2) is "function() { return x; }" 46 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 47 PASS "" + foo(o, i % 2) is "function() { return x; }" 48 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 49 PASS "" + foo(o, i % 2) is "function() { return x; }" 50 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 51 PASS "" + foo(o, i % 2) is "function() { return x; }" 52 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 53 PASS "" + foo(o, i % 2) is "function() { return x; }" 54 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 55 PASS "" + foo(o, i % 2) is "function() { return x; }" 56 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 57 PASS "" + foo(o, i % 2) is "function() { return x; }" 58 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 59 PASS "" + foo(o, i % 2) is "function() { return x; }" 60 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 61 PASS "" + foo(o, i % 2) is "function() { return x; }" 62 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 63 PASS "" + foo(o, i % 2) is "function() { return x; }" 64 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 65 PASS "" + foo(o, i % 2) is "function() { return x; }" 66 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 67 PASS "" + foo(o, i % 2) is "function() { return x; }" 68 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 69 PASS "" + foo(o, i % 2) is "function() { return x; }" 70 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 71 PASS "" + foo(o, i % 2) is "function() { return x; }" 72 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 73 PASS "" + foo(o, i % 2) is "function() { return x; }" 74 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 75 PASS "" + foo(o, i % 2) is "function() { return x; }" 76 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 77 PASS "" + foo(o, i % 2) is "function() { return x; }" 78 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 79 PASS "" + foo(o, i % 2) is "function() { return x; }" 80 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 81 PASS "" + foo(o, i % 2) is "function() { return x; }" 82 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 83 PASS "" + foo(o, i % 2) is "function() { return x; }" 84 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 85 PASS "" + foo(o, i % 2) is "function() { return x; }" 86 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 87 PASS "" + foo(o, i % 2) is "function() { return x; }" 88 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 89 PASS "" + foo(o, i % 2) is "function() { return x; }" 90 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 91 PASS "" + foo(o, i % 2) is "function() { return x; }" 92 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 93 PASS "" + foo(o, i % 2) is "function() { return x; }" 94 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 95 PASS "" + foo(o, i % 2) is "function() { return x; }" 96 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 97 PASS "" + foo(o, i % 2) is "function() { return x; }" 98 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 99 PASS "" + foo(o, i % 2) is "function() { return x; }" 100 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 101 PASS "" + foo(o, i % 2) is "function() { return x; }" 102 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 103 PASS "" + foo(o, i % 2) is "function() { return x; }" 104 PASS "" + foo(o, i % 2) is "function() { return 32; },function() { return 32; }" 105 PASS "" + foo(o, i % 2) is "function() { return x; }" 106 106 PASS successfullyParsed is true 107 107 -
trunk/LayoutTests/js/dfg-resolve-global-specific-dictionary-expected.txt
r123394 r181810 4 4 5 5 6 PASS "" + foo() is "function 7 PASS "" + foo() is "function 8 PASS "" + foo() is "function 9 PASS "" + foo() is "function 10 PASS "" + foo() is "function 11 PASS "" + foo() is "function 12 PASS "" + foo() is "function 13 PASS "" + foo() is "function 14 PASS "" + foo() is "function 15 PASS "" + foo() is "function 16 PASS "" + foo() is "function 17 PASS "" + foo() is "function 18 PASS "" + foo() is "function 19 PASS "" + foo() is "function 20 PASS "" + foo() is "function 21 PASS "" + foo() is "function 22 PASS "" + foo() is "function 23 PASS "" + foo() is "function 24 PASS "" + foo() is "function 25 PASS "" + foo() is "function 26 PASS "" + foo() is "function 27 PASS "" + foo() is "function 28 PASS "" + foo() is "function 29 PASS "" + foo() is "function 30 PASS "" + foo() is "function 31 PASS "" + foo() is "function 32 PASS "" + foo() is "function 33 PASS "" + foo() is "function 34 PASS "" + foo() is "function 35 PASS "" + foo() is "function 36 PASS "" + foo() is "function 37 PASS "" + foo() is "function 38 PASS "" + foo() is "function 39 PASS "" + foo() is "function 40 PASS "" + foo() is "function 41 PASS "" + foo() is "function 42 PASS "" + foo() is "function 43 PASS "" + foo() is "function 44 PASS "" + foo() is "function 45 PASS "" + foo() is "function 46 PASS "" + foo() is "function 47 PASS "" + foo() is "function 48 PASS "" + foo() is "function 49 PASS "" + foo() is "function 50 PASS "" + foo() is "function 51 PASS "" + foo() is "function 52 PASS "" + foo() is "function 53 PASS "" + foo() is "function 54 PASS "" + foo() is "function 55 PASS "" + foo() is "function 56 PASS "" + foo() is "function 57 PASS "" + foo() is "function 58 PASS "" + foo() is "function 59 PASS "" + foo() is "function 60 PASS "" + foo() is "function 61 PASS "" + foo() is "function 62 PASS "" + foo() is "function 63 PASS "" + foo() is "function 64 PASS "" + foo() is "function 65 PASS "" + foo() is "function 66 PASS "" + foo() is "function 67 PASS "" + foo() is "function 68 PASS "" + foo() is "function 69 PASS "" + foo() is "function 70 PASS "" + foo() is "function 71 PASS "" + foo() is "function 72 PASS "" + foo() is "function 73 PASS "" + foo() is "function 74 PASS "" + foo() is "function 75 PASS "" + foo() is "function 76 PASS "" + foo() is "function 77 PASS "" + foo() is "function 78 PASS "" + foo() is "function 79 PASS "" + foo() is "function 80 PASS "" + foo() is "function 81 PASS "" + foo() is "function 82 PASS "" + foo() is "function 83 PASS "" + foo() is "function 84 PASS "" + foo() is "function 85 PASS "" + foo() is "function 86 PASS "" + foo() is "function 87 PASS "" + foo() is "function 88 PASS "" + foo() is "function 89 PASS "" + foo() is "function 90 PASS "" + foo() is "function 91 PASS "" + foo() is "function 92 PASS "" + foo() is "function 93 PASS "" + foo() is "function 94 PASS "" + foo() is "function 95 PASS "" + foo() is "function 96 PASS "" + foo() is "function 97 PASS "" + foo() is "function 98 PASS "" + foo() is "function 99 PASS "" + foo() is "function 100 PASS "" + foo() is "function 101 PASS "" + foo() is "function 102 PASS "" + foo() is "function 103 PASS "" + foo() is "function 104 PASS "" + foo() is "function 105 PASS "" + foo() is "function 106 PASS "" + foo() is "function 107 PASS "" + foo() is "function 108 PASS "" + foo() is "function 109 PASS "" + foo() is "function 110 PASS "" + foo() is "function 111 PASS "" + foo() is "function 112 PASS "" + foo() is "function 113 PASS "" + foo() is "function 114 PASS "" + foo() is "function 115 PASS "" + foo() is "function 116 PASS "" + foo() is "function 117 PASS "" + foo() is "function 118 PASS "" + foo() is "function 119 PASS "" + foo() is "function 120 PASS "" + foo() is "function 121 PASS "" + foo() is "function 122 PASS "" + foo() is "function 123 PASS "" + foo() is "function 124 PASS "" + foo() is "function 125 PASS "" + foo() is "function 126 PASS "" + foo() is "function 127 PASS "" + foo() is "function 128 PASS "" + foo() is "function 129 PASS "" + foo() is "function 130 PASS "" + foo() is "function 131 PASS "" + foo() is "function 132 PASS "" + foo() is "function 133 PASS "" + foo() is "function 134 PASS "" + foo() is "function 135 PASS "" + foo() is "function 136 PASS "" + foo() is "function 137 PASS "" + foo() is "function 138 PASS "" + foo() is "function 139 PASS "" + foo() is "function 140 PASS "" + foo() is "function 141 PASS "" + foo() is "function 142 PASS "" + foo() is "function 143 PASS "" + foo() is "function 144 PASS "" + foo() is "function 145 PASS "" + foo() is "function 146 PASS "" + foo() is "function 147 PASS "" + foo() is "function 148 PASS "" + foo() is "function 149 PASS "" + foo() is "function 150 PASS "" + foo() is "function 151 PASS "" + foo() is "function 152 PASS "" + foo() is "function 153 PASS "" + foo() is "function 154 PASS "" + foo() is "function 155 PASS "" + foo() is "function 156 PASS "" + foo() is "function 157 PASS "" + foo() is "function 158 PASS "" + foo() is "function 159 PASS "" + foo() is "function 160 PASS "" + foo() is "function 161 PASS "" + foo() is "function 162 PASS "" + foo() is "function 163 PASS "" + foo() is "function 164 PASS "" + foo() is "function 165 PASS "" + foo() is "function 166 PASS "" + foo() is "function 167 PASS "" + foo() is "function 168 PASS "" + foo() is "function 169 PASS "" + foo() is "function 170 PASS "" + foo() is "function 171 PASS "" + foo() is "function 172 PASS "" + foo() is "function 173 PASS "" + foo() is "function 174 PASS "" + foo() is "function 175 PASS "" + foo() is "function 176 PASS "" + foo() is "function 177 PASS "" + foo() is "function 178 PASS "" + foo() is "function 179 PASS "" + foo() is "function 180 PASS "" + foo() is "function 181 PASS "" + foo() is "function 182 PASS "" + foo() is "function 183 PASS "" + foo() is "function 184 PASS "" + foo() is "function 185 PASS "" + foo() is "function 186 PASS "" + foo() is "function 187 PASS "" + foo() is "function 188 PASS "" + foo() is "function 189 PASS "" + foo() is "function 190 PASS "" + foo() is "function 191 PASS "" + foo() is "function 192 PASS "" + foo() is "function 193 PASS "" + foo() is "function 194 PASS "" + foo() is "function 195 PASS "" + foo() is "function 196 PASS "" + foo() is "function 197 PASS "" + foo() is "function 198 PASS "" + foo() is "function 199 PASS "" + foo() is "function 200 PASS "" + foo() is "function 201 PASS "" + foo() is "function 202 PASS "" + foo() is "function 203 PASS "" + foo() is "function 204 PASS "" + foo() is "function 205 PASS "" + foo() is "function 6 PASS "" + foo() is "function() { }" 7 PASS "" + foo() is "function() { }" 8 PASS "" + foo() is "function() { }" 9 PASS "" + foo() is "function() { }" 10 PASS "" + foo() is "function() { }" 11 PASS "" + foo() is "function() { }" 12 PASS "" + foo() is "function() { }" 13 PASS "" + foo() is "function() { }" 14 PASS "" + foo() is "function() { }" 15 PASS "" + foo() is "function() { }" 16 PASS "" + foo() is "function() { }" 17 PASS "" + foo() is "function() { }" 18 PASS "" + foo() is "function() { }" 19 PASS "" + foo() is "function() { }" 20 PASS "" + foo() is "function() { }" 21 PASS "" + foo() is "function() { }" 22 PASS "" + foo() is "function() { }" 23 PASS "" + foo() is "function() { }" 24 PASS "" + foo() is "function() { }" 25 PASS "" + foo() is "function() { }" 26 PASS "" + foo() is "function() { }" 27 PASS "" + foo() is "function() { }" 28 PASS "" + foo() is "function() { }" 29 PASS "" + foo() is "function() { }" 30 PASS "" + foo() is "function() { }" 31 PASS "" + foo() is "function() { }" 32 PASS "" + foo() is "function() { }" 33 PASS "" + foo() is "function() { }" 34 PASS "" + foo() is "function() { }" 35 PASS "" + foo() is "function() { }" 36 PASS "" + foo() is "function() { }" 37 PASS "" + foo() is "function() { }" 38 PASS "" + foo() is "function() { }" 39 PASS "" + foo() is "function() { }" 40 PASS "" + foo() is "function() { }" 41 PASS "" + foo() is "function() { }" 42 PASS "" + foo() is "function() { }" 43 PASS "" + foo() is "function() { }" 44 PASS "" + foo() is "function() { }" 45 PASS "" + foo() is "function() { }" 46 PASS "" + foo() is "function() { }" 47 PASS "" + foo() is "function() { }" 48 PASS "" + foo() is "function() { }" 49 PASS "" + foo() is "function() { }" 50 PASS "" + foo() is "function() { }" 51 PASS "" + foo() is "function() { }" 52 PASS "" + foo() is "function() { }" 53 PASS "" + foo() is "function() { }" 54 PASS "" + foo() is "function() { }" 55 PASS "" + foo() is "function() { }" 56 PASS "" + foo() is "function() { }" 57 PASS "" + foo() is "function() { }" 58 PASS "" + foo() is "function() { }" 59 PASS "" + foo() is "function() { }" 60 PASS "" + foo() is "function() { }" 61 PASS "" + foo() is "function() { }" 62 PASS "" + foo() is "function() { }" 63 PASS "" + foo() is "function() { }" 64 PASS "" + foo() is "function() { }" 65 PASS "" + foo() is "function() { }" 66 PASS "" + foo() is "function() { }" 67 PASS "" + foo() is "function() { }" 68 PASS "" + foo() is "function() { }" 69 PASS "" + foo() is "function() { }" 70 PASS "" + foo() is "function() { }" 71 PASS "" + foo() is "function() { }" 72 PASS "" + foo() is "function() { }" 73 PASS "" + foo() is "function() { }" 74 PASS "" + foo() is "function() { }" 75 PASS "" + foo() is "function() { }" 76 PASS "" + foo() is "function() { }" 77 PASS "" + foo() is "function() { }" 78 PASS "" + foo() is "function() { }" 79 PASS "" + foo() is "function() { }" 80 PASS "" + foo() is "function() { }" 81 PASS "" + foo() is "function() { }" 82 PASS "" + foo() is "function() { }" 83 PASS "" + foo() is "function() { }" 84 PASS "" + foo() is "function() { }" 85 PASS "" + foo() is "function() { }" 86 PASS "" + foo() is "function() { }" 87 PASS "" + foo() is "function() { }" 88 PASS "" + foo() is "function() { }" 89 PASS "" + foo() is "function() { }" 90 PASS "" + foo() is "function() { }" 91 PASS "" + foo() is "function() { }" 92 PASS "" + foo() is "function() { }" 93 PASS "" + foo() is "function() { }" 94 PASS "" + foo() is "function() { }" 95 PASS "" + foo() is "function() { }" 96 PASS "" + foo() is "function() { }" 97 PASS "" + foo() is "function() { }" 98 PASS "" + foo() is "function() { }" 99 PASS "" + foo() is "function() { }" 100 PASS "" + foo() is "function() { }" 101 PASS "" + foo() is "function() { }" 102 PASS "" + foo() is "function() { }" 103 PASS "" + foo() is "function() { }" 104 PASS "" + foo() is "function() { }" 105 PASS "" + foo() is "function() { }" 106 PASS "" + foo() is "function() { }" 107 PASS "" + foo() is "function() { }" 108 PASS "" + foo() is "function() { }" 109 PASS "" + foo() is "function() { }" 110 PASS "" + foo() is "function() { }" 111 PASS "" + foo() is "function() { }" 112 PASS "" + foo() is "function() { }" 113 PASS "" + foo() is "function() { }" 114 PASS "" + foo() is "function() { }" 115 PASS "" + foo() is "function() { }" 116 PASS "" + foo() is "function() { }" 117 PASS "" + foo() is "function() { }" 118 PASS "" + foo() is "function() { }" 119 PASS "" + foo() is "function() { }" 120 PASS "" + foo() is "function() { }" 121 PASS "" + foo() is "function() { }" 122 PASS "" + foo() is "function() { }" 123 PASS "" + foo() is "function() { }" 124 PASS "" + foo() is "function() { }" 125 PASS "" + foo() is "function() { }" 126 PASS "" + foo() is "function() { }" 127 PASS "" + foo() is "function() { }" 128 PASS "" + foo() is "function() { }" 129 PASS "" + foo() is "function() { }" 130 PASS "" + foo() is "function() { }" 131 PASS "" + foo() is "function() { }" 132 PASS "" + foo() is "function() { }" 133 PASS "" + foo() is "function() { }" 134 PASS "" + foo() is "function() { }" 135 PASS "" + foo() is "function() { }" 136 PASS "" + foo() is "function() { }" 137 PASS "" + foo() is "function() { }" 138 PASS "" + foo() is "function() { }" 139 PASS "" + foo() is "function() { }" 140 PASS "" + foo() is "function() { }" 141 PASS "" + foo() is "function() { }" 142 PASS "" + foo() is "function() { }" 143 PASS "" + foo() is "function() { }" 144 PASS "" + foo() is "function() { }" 145 PASS "" + foo() is "function() { }" 146 PASS "" + foo() is "function() { }" 147 PASS "" + foo() is "function() { }" 148 PASS "" + foo() is "function() { }" 149 PASS "" + foo() is "function() { }" 150 PASS "" + foo() is "function() { }" 151 PASS "" + foo() is "function() { }" 152 PASS "" + foo() is "function() { }" 153 PASS "" + foo() is "function() { }" 154 PASS "" + foo() is "function() { }" 155 PASS "" + foo() is "function() { }" 156 PASS "" + foo() is "function() { }" 157 PASS "" + foo() is "function() { }" 158 PASS "" + foo() is "function() { }" 159 PASS "" + foo() is "function() { }" 160 PASS "" + foo() is "function() { }" 161 PASS "" + foo() is "function() { }" 162 PASS "" + foo() is "function() { }" 163 PASS "" + foo() is "function() { }" 164 PASS "" + foo() is "function() { }" 165 PASS "" + foo() is "function() { }" 166 PASS "" + foo() is "function() { }" 167 PASS "" + foo() is "function() { }" 168 PASS "" + foo() is "function() { }" 169 PASS "" + foo() is "function() { }" 170 PASS "" + foo() is "function() { }" 171 PASS "" + foo() is "function() { }" 172 PASS "" + foo() is "function() { }" 173 PASS "" + foo() is "function() { }" 174 PASS "" + foo() is "function() { }" 175 PASS "" + foo() is "function() { }" 176 PASS "" + foo() is "function() { }" 177 PASS "" + foo() is "function() { }" 178 PASS "" + foo() is "function() { }" 179 PASS "" + foo() is "function() { }" 180 PASS "" + foo() is "function() { }" 181 PASS "" + foo() is "function() { }" 182 PASS "" + foo() is "function() { }" 183 PASS "" + foo() is "function() { }" 184 PASS "" + foo() is "function() { }" 185 PASS "" + foo() is "function() { }" 186 PASS "" + foo() is "function() { }" 187 PASS "" + foo() is "function() { }" 188 PASS "" + foo() is "function() { }" 189 PASS "" + foo() is "function() { }" 190 PASS "" + foo() is "function() { }" 191 PASS "" + foo() is "function() { }" 192 PASS "" + foo() is "function() { }" 193 PASS "" + foo() is "function() { }" 194 PASS "" + foo() is "function() { }" 195 PASS "" + foo() is "function() { }" 196 PASS "" + foo() is "function() { }" 197 PASS "" + foo() is "function() { }" 198 PASS "" + foo() is "function() { }" 199 PASS "" + foo() is "function() { }" 200 PASS "" + foo() is "function() { }" 201 PASS "" + foo() is "function() { }" 202 PASS "" + foo() is "function() { }" 203 PASS "" + foo() is "function() { }" 204 PASS "" + foo() is "function() { }" 205 PASS "" + foo() is "function() { }" 206 206 PASS "" + foo() is "42" 207 207 PASS "" + foo() is "42" -
trunk/LayoutTests/js/dom/JSON-parse-expected.txt
r156066 r181810 1 function (jsonObject){1 function(jsonObject){ 2 2 return jsonObject.parse(); 3 3 } 4 4 PASS tests[i](nativeJSON) threw exception Error: JSON.parse requires at least one parameter. 5 function (jsonObject){5 function(jsonObject){ 6 6 return jsonObject.parse(''); 7 7 } 8 8 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected EOF. 9 function (jsonObject){9 function(jsonObject){ 10 10 return jsonObject.parse('1'); 11 11 } 12 12 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 13 function (jsonObject){13 function(jsonObject){ 14 14 return jsonObject.parse('-1'); 15 15 } 16 16 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 17 function (jsonObject){17 function(jsonObject){ 18 18 return jsonObject.parse('Infinity'); 19 19 } 20 20 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected identifier "Infinity". 21 function (jsonObject){21 function(jsonObject){ 22 22 return jsonObject.parse('NaN'); 23 23 } 24 24 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected identifier "NaN". 25 function (jsonObject){25 function(jsonObject){ 26 26 return jsonObject.parse('null'); 27 27 } 28 28 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 29 function (jsonObject){29 function(jsonObject){ 30 30 return jsonObject.parse('undefined'); 31 31 } 32 32 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected identifier "undefined". 33 function (jsonObject){33 function(jsonObject){ 34 34 return jsonObject.parse('{}'); 35 35 } 36 36 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 37 function (jsonObject){37 function(jsonObject){ 38 38 return jsonObject.parse('({})'); 39 39 } 40 40 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected token '('. 41 function (jsonObject){41 function(jsonObject){ 42 42 return jsonObject.parse('{a}'); 43 43 } 44 44 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Expected '}'. 45 function (jsonObject){45 function(jsonObject){ 46 46 return jsonObject.parse('{a:}'); 47 47 } 48 48 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Expected '}'. 49 function (jsonObject){49 function(jsonObject){ 50 50 return jsonObject.parse('{a:5}'); 51 51 } 52 52 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Expected '}'. 53 function (jsonObject){53 function(jsonObject){ 54 54 return jsonObject.parse('{a:5,}'); 55 55 } 56 56 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Expected '}'. 57 function (jsonObject){57 function(jsonObject){ 58 58 return jsonObject.parse('{"a"}'); 59 59 } 60 60 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Expected ':' before value in object property definition. 61 function (jsonObject){61 function(jsonObject){ 62 62 return jsonObject.parse('{"a":}'); 63 63 } 64 64 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected token '}'. 65 function (jsonObject){65 function(jsonObject){ 66 66 return jsonObject.parse('{"a":5}'); 67 67 } 68 68 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 69 function (jsonObject){69 function(jsonObject){ 70 70 return jsonObject.parse('{"__proto__":5}'); 71 71 } 72 72 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 73 function (jsonObject){73 function(jsonObject){ 74 74 return jsonObject.parse('{"a":5,}'); 75 75 } 76 76 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Property name must be a string literal. 77 77 json2.js did not throw for a test we expect to throw. 78 function (jsonObject){78 function(jsonObject){ 79 79 return jsonObject.parse('{"a":5,,}'); 80 80 } 81 81 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Property name must be a string literal. 82 function (jsonObject){82 function(jsonObject){ 83 83 return jsonObject.parse('{"a":5,"a",}'); 84 84 } 85 85 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Expected ':'. 86 function (jsonObject){86 function(jsonObject){ 87 87 return jsonObject.parse('{"a":(5,"a"),}'); 88 88 } 89 89 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected token '('. 90 function (jsonObject){90 function(jsonObject){ 91 91 return jsonObject.parse('[]'); 92 92 } 93 93 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 94 function (jsonObject){94 function(jsonObject){ 95 95 return jsonObject.parse('[1]'); 96 96 } 97 97 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 98 function (jsonObject){98 function(jsonObject){ 99 99 return jsonObject.parse('[1,]'); 100 100 } 101 101 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected comma at the end of array expression. 102 102 json2.js did not throw for a test we expect to throw. 103 function (jsonObject){103 function(jsonObject){ 104 104 return jsonObject.parse('[1,2]'); 105 105 } 106 106 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 107 function (jsonObject){107 function(jsonObject){ 108 108 return jsonObject.parse('[1,2,,]'); 109 109 } 110 110 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected token ','. 111 111 json2.js did not throw for a test we expect to throw. 112 function (jsonObject){112 function(jsonObject){ 113 113 return jsonObject.parse('[1,2,,4]'); 114 114 } 115 115 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unexpected token ','. 116 116 json2.js did not throw for a test we expect to throw. 117 function (jsonObject){117 function(jsonObject){ 118 118 return jsonObject.parse('""'); 119 119 } 120 120 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 121 function (jsonObject){121 function(jsonObject){ 122 122 return jsonObject.parse('"\'"'); 123 123 } 124 124 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 125 function (jsonObject){125 function(jsonObject){ 126 126 return jsonObject.parse('"a\"'); 127 127 } 128 128 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 129 function (jsonObject){129 function(jsonObject){ 130 130 return jsonObject.parse('"a\\"'); 131 131 } 132 132 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unterminated string. 133 function (jsonObject){133 function(jsonObject){ 134 134 return jsonObject.parse('"a\\z"'); 135 135 } 136 136 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Invalid escape character z. 137 function (jsonObject){137 function(jsonObject){ 138 138 return jsonObject.parse('"a\\\z"'); 139 139 } 140 140 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Invalid escape character z. 141 function (jsonObject){141 function(jsonObject){ 142 142 return jsonObject.parse('"a\\\\z"'); 143 143 } 144 144 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 145 function (jsonObject){145 function(jsonObject){ 146 146 return jsonObject.parse('"a\tz"'); 147 147 } 148 148 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unterminated string. 149 149 json2.js did not throw for a test we expect to throw. 150 function (jsonObject){150 function(jsonObject){ 151 151 return jsonObject.parse('"a\\tz"'); 152 152 } 153 153 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 154 function (jsonObject){154 function(jsonObject){ 155 155 return jsonObject.parse('"a\nz"'); 156 156 } 157 157 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unterminated string. 158 function (jsonObject){158 function(jsonObject){ 159 159 return jsonObject.parse('"a\\nz"'); 160 160 } 161 161 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 162 function (jsonObject){162 function(jsonObject){ 163 163 return jsonObject.parse('"a\rz"'); 164 164 } 165 165 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unterminated string. 166 function (jsonObject){166 function(jsonObject){ 167 167 return jsonObject.parse('"a\\rz"'); 168 168 } 169 169 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 170 function (jsonObject){170 function(jsonObject){ 171 171 return jsonObject.parse('"a\/z"'); 172 172 } 173 173 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 174 function (jsonObject){174 function(jsonObject){ 175 175 return jsonObject.parse('"a\\/z"'); 176 176 } 177 177 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 178 function (jsonObject){178 function(jsonObject){ 179 179 return jsonObject.parse('"a\bz"'); 180 180 } 181 181 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unterminated string. 182 182 json2.js did not throw for a test we expect to throw. 183 function (jsonObject){183 function(jsonObject){ 184 184 return jsonObject.parse('"a\\bz"'); 185 185 } 186 186 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 187 function (jsonObject){187 function(jsonObject){ 188 188 return jsonObject.parse('"a\rz"'); 189 189 } 190 190 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unterminated string. 191 function (jsonObject){191 function(jsonObject){ 192 192 return jsonObject.parse('"a\\rz"'); 193 193 } 194 194 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 195 function (jsonObject){195 function(jsonObject){ 196 196 return jsonObject.parse('"a\\uz" '); 197 197 } 198 198 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\uz" " is not a valid unicode escape. 199 function (jsonObject){199 function(jsonObject){ 200 200 return jsonObject.parse('"a\\u0z" '); 201 201 } 202 202 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u0z" " is not a valid unicode escape. 203 function (jsonObject){203 function(jsonObject){ 204 204 return jsonObject.parse('"a\\u00z" '); 205 205 } 206 206 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u00z"" is not a valid unicode escape. 207 function (jsonObject){207 function(jsonObject){ 208 208 return jsonObject.parse('"a\\u000z" '); 209 209 } 210 210 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u000z" is not a valid unicode escape. 211 function (jsonObject){211 function(jsonObject){ 212 212 return jsonObject.parse('"a\\u0000z" '); 213 213 } 214 214 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 215 function (jsonObject){215 function(jsonObject){ 216 216 return jsonObject.parse('"a\\u000Az" '); 217 217 } 218 218 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 219 function (jsonObject){219 function(jsonObject){ 220 220 return jsonObject.parse('"a\\u000az" '); 221 221 } 222 222 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 223 function (jsonObject){223 function(jsonObject){ 224 224 return jsonObject.parse('"a\\u000Gz" '); 225 225 } 226 226 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u000G" is not a valid unicode escape. 227 function (jsonObject){227 function(jsonObject){ 228 228 return jsonObject.parse('"a\\u000gz" '); 229 229 } 230 230 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u000g" is not a valid unicode escape. 231 function (jsonObject){231 function(jsonObject){ 232 232 return jsonObject.parse('"a\\u00A0z" '); 233 233 } 234 234 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 235 function (jsonObject){235 function(jsonObject){ 236 236 return jsonObject.parse('"a\\u00a0z" '); 237 237 } 238 238 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 239 function (jsonObject){239 function(jsonObject){ 240 240 return jsonObject.parse('"a\\u00G0z" '); 241 241 } 242 242 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u00G0" is not a valid unicode escape. 243 function (jsonObject){243 function(jsonObject){ 244 244 return jsonObject.parse('"a\\u00g0z" '); 245 245 } 246 246 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u00g0" is not a valid unicode escape. 247 function (jsonObject){247 function(jsonObject){ 248 248 return jsonObject.parse('"a\\u0A00z" '); 249 249 } 250 250 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 251 function (jsonObject){251 function(jsonObject){ 252 252 return jsonObject.parse('"a\\u0a00z" '); 253 253 } 254 254 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 255 function (jsonObject){255 function(jsonObject){ 256 256 return jsonObject.parse('"a\\u0G00z" '); 257 257 } 258 258 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u0G00" is not a valid unicode escape. 259 function (jsonObject){259 function(jsonObject){ 260 260 return jsonObject.parse('"a\\u0g00z" '); 261 261 } 262 262 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\u0g00" is not a valid unicode escape. 263 function (jsonObject){263 function(jsonObject){ 264 264 return jsonObject.parse('"a\\uA000z" '); 265 265 } 266 266 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 267 function (jsonObject){267 function(jsonObject){ 268 268 return jsonObject.parse('"a\\ua000z" '); 269 269 } 270 270 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 271 function (jsonObject){271 function(jsonObject){ 272 272 return jsonObject.parse('"a\\uG000z" '); 273 273 } 274 274 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\uG000" is not a valid unicode escape. 275 function (jsonObject){275 function(jsonObject){ 276 276 return jsonObject.parse('"a\\ug000z" '); 277 277 } 278 278 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: "\ug000" is not a valid unicode escape. 279 function (jsonObject){279 function(jsonObject){ 280 280 return jsonObject.parse('00'); 281 281 } 282 282 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 283 283 json2.js did not throw for a test we expect to throw. 284 function (jsonObject){284 function(jsonObject){ 285 285 return jsonObject.parse('01'); 286 286 } 287 287 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 288 288 json2.js did not throw for a test we expect to throw. 289 function (jsonObject){289 function(jsonObject){ 290 290 return jsonObject.parse('0.a'); 291 291 } 292 292 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Invalid digits after decimal point. 293 function (jsonObject){293 function(jsonObject){ 294 294 return jsonObject.parse('0x0'); 295 295 } 296 296 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 297 function (jsonObject){297 function(jsonObject){ 298 298 return jsonObject.parse('2e1.3'); 299 299 } 300 300 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 301 function (jsonObject){301 function(jsonObject){ 302 302 return jsonObject.parse('2e-+10'); 303 303 } 304 304 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Exponent symbols should be followed by an optional '+' or '-' and then by at least one number. 305 function (jsonObject){305 function(jsonObject){ 306 306 return jsonObject.parse('2e+-10'); 307 307 } 308 308 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Exponent symbols should be followed by an optional '+' or '-' and then by at least one number. 309 function (jsonObject){309 function(jsonObject){ 310 310 return jsonObject.parse('2e3e4'); 311 311 } 312 312 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 313 function (jsonObject){313 function(jsonObject){ 314 314 return jsonObject.parse('-01.0'); 315 315 } 316 316 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 317 function (jsonObject){317 function(jsonObject){ 318 318 return jsonObject.parse('-01'); 319 319 } 320 320 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unable to parse JSON string. 321 321 json2.js did not throw for a test we expect to throw. 322 function (jsonObject){322 function(jsonObject){ 323 323 return jsonObject.parse('-01.a'); 324 324 } 325 325 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Invalid digits after decimal point. 326 function (jsonObject){326 function(jsonObject){ 327 327 return jsonObject.parse('1.e1'); 328 328 } 329 329 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Invalid digits after decimal point. 330 330 json2.js did not throw for a test we expect to throw. 331 function (jsonObject){331 function(jsonObject){ 332 332 return jsonObject.parse('{/* block comments are not allowed */}'); 333 333 } 334 334 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unrecognized token '/'. 335 function (jsonObject){335 function(jsonObject){ 336 336 return jsonObject.parse('{// line comments are not allowed \n}'); 337 337 } 338 338 PASS tests[i](nativeJSON) threw exception SyntaxError: JSON Parse error: Unrecognized token '/'. 339 function (jsonObject){339 function(jsonObject){ 340 340 return jsonObject.parse('true'); 341 341 } 342 342 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 343 function (jsonObject){343 function(jsonObject){ 344 344 return jsonObject.parse('false'); 345 345 } 346 346 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 347 function (jsonObject){347 function(jsonObject){ 348 348 return jsonObject.parse(JSON.stringify(simpleObject)); 349 349 } 350 350 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 351 function (jsonObject){351 function(jsonObject){ 352 352 return jsonObject.parse(JSON.stringify(complexObject)); 353 353 } 354 354 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 355 function (jsonObject){355 function(jsonObject){ 356 356 return jsonObject.parse(JSON.stringify(complexObject)); 357 357 } 358 358 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 359 function (jsonObject){359 function(jsonObject){ 360 360 return jsonObject.parse(JSON.stringify(simpleObject,null,100)); 361 361 } 362 362 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 363 function (jsonObject){363 function(jsonObject){ 364 364 return jsonObject.parse(JSON.stringify(complexObject,null,100)); 365 365 } 366 366 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 367 function (jsonObject){367 function(jsonObject){ 368 368 return jsonObject.parse(JSON.stringify(complexObject,null,100)); 369 369 } 370 370 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 371 function (jsonObject){371 function(jsonObject){ 372 372 return jsonObject.parse(JSON.stringify(simpleObject,null," ")); 373 373 } 374 374 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 375 function (jsonObject){375 function(jsonObject){ 376 376 return jsonObject.parse(JSON.stringify(complexObject,null," ")); 377 377 } 378 378 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 379 function (jsonObject){379 function(jsonObject){ 380 380 return jsonObject.parse(JSON.stringify(complexObject,null," ")); 381 381 } 382 382 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 383 function (jsonObject){383 function(jsonObject){ 384 384 return jsonObject.parse(JSON.stringify(simpleObject,null,"\t")); 385 385 } 386 386 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 387 function (jsonObject){387 function(jsonObject){ 388 388 return jsonObject.parse(JSON.stringify(complexObject,null,"\t")); 389 389 } 390 390 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 391 function (jsonObject){391 function(jsonObject){ 392 392 return jsonObject.parse(JSON.stringify(complexObject,null,"\t")); 393 393 } 394 394 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 395 function (jsonObject){395 function(jsonObject){ 396 396 return jsonObject.parse(JSON.stringify(simpleObject,null,"\n")); 397 397 } 398 398 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 399 function (jsonObject){399 function(jsonObject){ 400 400 return jsonObject.parse(JSON.stringify(complexObject,null,"\n")); 401 401 } 402 402 PASS JSON.stringify(tests[i](nativeJSON)) is tests[i].expected 403 function (jsonObject){403 function(jsonObject){ 404 404 return jsonObject.parse("true", log); 405 405 } 406 406 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 407 function (jsonObject){407 function(jsonObject){ 408 408 return jsonObject.parse("false", log); 409 409 } 410 410 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 411 function (jsonObject){411 function(jsonObject){ 412 412 return jsonObject.parse("null", log); 413 413 } 414 414 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 415 function (jsonObject){415 function(jsonObject){ 416 416 return jsonObject.parse("1", log); 417 417 } 418 418 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 419 function (jsonObject){419 function(jsonObject){ 420 420 return jsonObject.parse("1.5", log); 421 421 } 422 422 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 423 function (jsonObject){423 function(jsonObject){ 424 424 return jsonObject.parse('"a string"', log); 425 425 } 426 426 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 427 function (jsonObject){427 function(jsonObject){ 428 428 return jsonObject.parse(JSON.stringify(simpleArray), log); 429 429 } 430 430 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 431 function (jsonObject){431 function(jsonObject){ 432 432 return jsonObject.parse(JSON.stringify(complexArray), log); 433 433 } 434 434 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 435 function (jsonObject){435 function(jsonObject){ 436 436 return jsonObject.parse(JSON.stringify(simpleObject), log); 437 437 } 438 438 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 439 function (jsonObject){439 function(jsonObject){ 440 440 return jsonObject.parse(JSON.stringify(complexObject), log); 441 441 } 442 442 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 443 function (jsonObject){443 function(jsonObject){ 444 444 return jsonObject.parse('{"__proto__":{"a":5}}', log); 445 445 } 446 446 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 447 function (jsonObject){447 function(jsonObject){ 448 448 logOrderString = ""; 449 449 return jsonObject.parse("true", logOrder); 450 450 } 451 451 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 452 function (jsonObject){452 function(jsonObject){ 453 453 logOrderString = ""; 454 454 return jsonObject.parse("false", logOrder); 455 455 } 456 456 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 457 function (jsonObject){457 function(jsonObject){ 458 458 logOrderString = ""; 459 459 return jsonObject.parse("null", logOrder); 460 460 } 461 461 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 462 function (jsonObject){462 function(jsonObject){ 463 463 logOrderString = ""; 464 464 return jsonObject.parse("1", logOrder); 465 465 } 466 466 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 467 function (jsonObject){467 function(jsonObject){ 468 468 logOrderString = ""; 469 469 return jsonObject.parse("1.5", logOrder); 470 470 } 471 471 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 472 function (jsonObject){472 function(jsonObject){ 473 473 logOrderString = ""; 474 474 return jsonObject.parse('"a string"', logOrder); 475 475 } 476 476 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 477 function (jsonObject){477 function(jsonObject){ 478 478 logOrderString = ""; 479 479 return jsonObject.parse(JSON.stringify(simpleArray), logOrder); 480 480 } 481 481 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 482 function (jsonObject){482 function(jsonObject){ 483 483 logOrderString = ""; 484 484 return jsonObject.parse(JSON.stringify(complexArray), logOrder); 485 485 } 486 486 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 487 function (jsonObject){487 function(jsonObject){ 488 488 logOrderString = ""; 489 489 return jsonObject.parse(JSON.stringify(simpleObject), logOrder); 490 490 } 491 491 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 492 function (jsonObject){492 function(jsonObject){ 493 493 logOrderString = ""; 494 494 return jsonObject.parse(JSON.stringify(complexObject), logOrder); 495 495 } 496 496 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 497 function (jsonObject){497 function(jsonObject){ 498 498 logOrderString = ""; 499 499 jsonObject.parse("true", logOrder); … … 501 501 } 502 502 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 503 function (jsonObject){503 function(jsonObject){ 504 504 logOrderString = ""; 505 505 jsonObject.parse("false", logOrder); … … 507 507 } 508 508 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 509 function (jsonObject){509 function(jsonObject){ 510 510 logOrderString = ""; 511 511 jsonObject.parse("null", logOrder); … … 513 513 } 514 514 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 515 function (jsonObject){515 function(jsonObject){ 516 516 logOrderString = ""; 517 517 jsonObject.parse("1", logOrder); … … 519 519 } 520 520 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 521 function (jsonObject){521 function(jsonObject){ 522 522 logOrderString = ""; 523 523 jsonObject.parse("1.5", logOrder); … … 525 525 } 526 526 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 527 function (jsonObject){527 function(jsonObject){ 528 528 logOrderString = ""; 529 529 jsonObject.parse('"a string"', logOrder); … … 531 531 } 532 532 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 533 function (jsonObject){533 function(jsonObject){ 534 534 logOrderString = ""; 535 535 jsonObject.parse(JSON.stringify(simpleArray), logOrder); … … 537 537 } 538 538 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 539 function (jsonObject){539 function(jsonObject){ 540 540 logOrderString = ""; 541 541 jsonObject.parse(JSON.stringify(complexArray), logOrder); … … 543 543 } 544 544 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 545 function (jsonObject){545 function(jsonObject){ 546 546 logOrderString = ""; 547 547 jsonObject.parse(JSON.stringify(simpleObject), logOrder); … … 549 549 } 550 550 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 551 function (jsonObject){551 function(jsonObject){ 552 552 logOrderString = ""; 553 553 jsonObject.parse(JSON.stringify(complexObject), logOrder); … … 555 555 } 556 556 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 557 function (jsonObject){557 function(jsonObject){ 558 558 callCount = 0; 559 559 logOrderString = ""; … … 561 561 } 562 562 PASS tests[i](nativeJSON) threw exception from reviver. 563 function (jsonObject){563 function(jsonObject){ 564 564 callCount = 0; 565 565 logOrderString = ""; … … 567 567 } 568 568 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 569 function (jsonObject){569 function(jsonObject){ 570 570 callCount = 0; 571 571 logOrderString = ""; … … 573 573 } 574 574 PASS tests[i](nativeJSON) threw exception from reviver. 575 function (jsonObject){575 function(jsonObject){ 576 576 callCount = 0; 577 577 logOrderString = ""; … … 580 580 } 581 581 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 582 function (jsonObject){582 function(jsonObject){ 583 583 callCount = 0; 584 584 logOrderString = ""; … … 587 587 } 588 588 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 589 function (jsonObject){589 function(jsonObject){ 590 590 callCount = 0; 591 591 logOrderString = ""; … … 594 594 } 595 595 PASS JSON.stringify(tests[i](nativeJSON)) is JSON.stringify(tests[i](JSON)) 596 function (jsonObject){596 function(jsonObject){ 597 597 return jsonObject.parse(JSON.stringify(unicode)); 598 598 } -
trunk/LayoutTests/js/dom/JSON-stringify-expected.txt
r179406 r181810 1 function (jsonObject){1 function(jsonObject){ 2 2 return jsonObject.stringify(1); 3 3 } 4 4 PASS tests[i](nativeJSON) is tests[i](JSON) 5 function (jsonObject){5 function(jsonObject){ 6 6 return jsonObject.stringify(1.5); 7 7 } 8 8 PASS tests[i](nativeJSON) is tests[i](JSON) 9 function (jsonObject){9 function(jsonObject){ 10 10 return jsonObject.stringify(-1); 11 11 } 12 12 PASS tests[i](nativeJSON) is tests[i](JSON) 13 function (jsonObject){13 function(jsonObject){ 14 14 return jsonObject.stringify(-1.5); 15 15 } 16 16 PASS tests[i](nativeJSON) is tests[i](JSON) 17 function (jsonObject){17 function(jsonObject){ 18 18 return jsonObject.stringify(null); 19 19 } 20 20 PASS tests[i](nativeJSON) is tests[i](JSON) 21 function (jsonObject){21 function(jsonObject){ 22 22 return jsonObject.stringify("string"); 23 23 } 24 24 PASS tests[i](nativeJSON) is tests[i](JSON) 25 function (jsonObject){25 function(jsonObject){ 26 26 return jsonObject.stringify(new Number(0)); 27 27 } 28 28 PASS tests[i](nativeJSON) is tests[i](JSON) 29 function (jsonObject){29 function(jsonObject){ 30 30 return jsonObject.stringify(new Number(1)); 31 31 } 32 32 PASS tests[i](nativeJSON) is tests[i](JSON) 33 function (jsonObject){33 function(jsonObject){ 34 34 return jsonObject.stringify(new Number(1.5)); 35 35 } 36 36 PASS tests[i](nativeJSON) is tests[i](JSON) 37 function (jsonObject){37 function(jsonObject){ 38 38 return jsonObject.stringify(new Number(-1)); 39 39 } 40 40 PASS tests[i](nativeJSON) is tests[i](JSON) 41 function (jsonObject){41 function(jsonObject){ 42 42 return jsonObject.stringify(new Number(-1.5)); 43 43 } 44 44 PASS tests[i](nativeJSON) is tests[i](JSON) 45 function (jsonObject){45 function(jsonObject){ 46 46 return jsonObject.stringify(new String("a string object")); 47 47 } 48 48 PASS tests[i](nativeJSON) is tests[i](JSON) 49 function (jsonObject){49 function(jsonObject){ 50 50 return jsonObject.stringify(new Boolean(true)); 51 51 } 52 52 PASS tests[i](nativeJSON) is tests[i](JSON) 53 function (jsonObject){53 function(jsonObject){ 54 54 var value = new Number(1); 55 55 value.valueOf = function() { return 2; } … … 57 57 } 58 58 PASS tests[i](nativeJSON) is tests[i].expected 59 function (jsonObject){59 function(jsonObject){ 60 60 var value = new Boolean(true); 61 61 value.valueOf = function() { return 2; } … … 63 63 } 64 64 PASS tests[i](nativeJSON) is tests[i].expected 65 function (jsonObject){65 function(jsonObject){ 66 66 var value = new String("fail"); 67 67 value.toString = function() { return "converted string"; } … … 69 69 } 70 70 PASS tests[i](nativeJSON) is tests[i].expected 71 function (jsonObject){71 function(jsonObject){ 72 72 return jsonObject.stringify(true); 73 73 } 74 74 PASS tests[i](nativeJSON) is tests[i](JSON) 75 function (jsonObject){75 function(jsonObject){ 76 76 return jsonObject.stringify(false); 77 77 } 78 78 PASS tests[i](nativeJSON) is tests[i](JSON) 79 function (jsonObject){79 function(jsonObject){ 80 80 return jsonObject.stringify(new Date(0)); 81 81 } 82 82 PASS tests[i](nativeJSON) is tests[i](JSON) 83 function (jsonObject){83 function(jsonObject){ 84 84 return jsonObject.stringify({toJSON: Date.prototype.toJSON}); 85 85 } 86 86 PASS tests[i](nativeJSON) threw exception TypeError: toISOString is not a function. 87 function (jsonObject){87 function(jsonObject){ 88 88 return jsonObject.stringify({toJSON: Date.prototype.toJSON, toISOString: function(){ return "custom toISOString"; }}); 89 89 } 90 90 PASS tests[i](nativeJSON) is tests[i](JSON) 91 function (jsonObject){91 function(jsonObject){ 92 92 return jsonObject.stringify({toJSON: Date.prototype.toJSON, toISOString: function(){ return {}; }}); 93 93 } 94 94 PASS tests[i](nativeJSON) threw exception TypeError: toISOString did not return a primitive value. 95 function (jsonObject){95 function(jsonObject){ 96 96 return jsonObject.stringify({toJSON: Date.prototype.toJSON, toISOString: function(){ throw "An exception"; }}); 97 97 } 98 98 PASS tests[i](nativeJSON) threw exception An exception. 99 function (jsonObject){99 function(jsonObject){ 100 100 var d = new Date(0); 101 101 d.toISOString = null; … … 103 103 } 104 104 PASS tests[i](nativeJSON) threw exception TypeError: toISOString is not a function. 105 function (jsonObject){105 function(jsonObject){ 106 106 var d = new Date(0); 107 107 d.toJSON = undefined; … … 109 109 } 110 110 PASS tests[i](nativeJSON) is tests[i](JSON) 111 function (jsonObject){111 function(jsonObject){ 112 112 return jsonObject.stringify({get Foo() { return "bar"; }}); 113 113 } 114 114 PASS tests[i](nativeJSON) is tests[i](JSON) 115 function (jsonObject){115 function(jsonObject){ 116 116 return jsonObject.stringify({get Foo() { this.foo="wibble"; return "bar"; }}); 117 117 } 118 118 PASS tests[i](nativeJSON) is tests[i](JSON) 119 function (jsonObject){119 function(jsonObject){ 120 120 var count = 0; 121 121 jsonObject.stringify({get Foo() { count++; return "bar"; }}); … … 123 123 } 124 124 PASS tests[i](nativeJSON) is tests[i](JSON) 125 function (jsonObject){125 function(jsonObject){ 126 126 var count = 0; 127 127 return jsonObject.stringify({get Foo() { count++; delete this.bar; return "bar"; }, bar: "wibble"}); 128 128 } 129 129 PASS tests[i](nativeJSON) is tests[i](JSON) 130 function (jsonObject){130 function(jsonObject){ 131 131 var count = 0; 132 132 return jsonObject.stringify({a:"1", b:"2", c:"3", 5:4, 4:5, 2:6, 1:7}); 133 133 } 134 134 PASS tests[i](nativeJSON) is tests[i](JSON) 135 function (jsonObject){135 function(jsonObject){ 136 136 var allString = true; 137 137 jsonObject.stringify({a:"1", b:"2", c:"3", 5:4, 4:5, 2:6, 1:7}, function(k,v){allString = allString && (typeof k == "string"); return v}); … … 139 139 } 140 140 PASS tests[i](nativeJSON) is tests[i](JSON) 141 function (jsonObject){141 function(jsonObject){ 142 142 var allString = true; 143 143 jsonObject.stringify([1,2,3,4,5], function(k,v){allString = allString && (typeof k == "string"); return v}); … … 145 145 } 146 146 PASS tests[i](nativeJSON) is tests[i](JSON) 147 function (jsonObject){147 function(jsonObject){ 148 148 var allString = true; 149 149 var array = []; … … 151 151 } 152 152 PASS tests[i](nativeJSON) is tests[i](JSON) 153 function (jsonObject){153 function(jsonObject){ 154 154 var allString = true; 155 155 var array = ["a"]; … … 157 157 } 158 158 PASS tests[i](nativeJSON) is tests[i](JSON) 159 function (jsonObject){159 function(jsonObject){ 160 160 var allString = true; 161 161 var array = [{toString:function(){array[0]='a'; array[1]='c'; array[2]='b'; return 'a'}}]; … … 163 163 } 164 164 PASS tests[i](nativeJSON) is tests[i](JSON) 165 function (jsonObject){165 function(jsonObject){ 166 166 var allString = true; 167 167 var array = [{toString:function(){array[0]='a'; array[1]='c'; array[2]='b'; return 'a'}}]; … … 169 169 } 170 170 PASS tests[i](nativeJSON) is tests[i](JSON) 171 function (jsonObject){171 function(jsonObject){ 172 172 var allString = true; 173 173 var array = [1, new Number(2), NaN, Infinity, -Infinity, new String("str")]; … … 175 175 } 176 176 PASS tests[i](nativeJSON) is tests[i].expected 177 function (jsonObject){177 function(jsonObject){ 178 178 var allString = true; 179 179 var array = ["1","2","3"]; … … 181 181 } 182 182 PASS tests[i](nativeJSON) is tests[i](JSON) 183 function (jsonObject){183 function(jsonObject){ 184 184 var allString = true; 185 185 var array = ["1","2","3"]; … … 187 187 } 188 188 PASS tests[i](nativeJSON) is tests[i](JSON) 189 function (jsonObject){189 function(jsonObject){ 190 190 return jsonObject.stringify(simpleArray, null, " "); 191 191 } 192 192 PASS tests[i](nativeJSON) is tests[i](JSON) 193 function (jsonObject){193 function(jsonObject){ 194 194 return jsonObject.stringify(simpleArray, null, 4); 195 195 } 196 196 PASS tests[i](nativeJSON) is tests[i](JSON) 197 function (jsonObject){197 function(jsonObject){ 198 198 return jsonObject.stringify(simpleArray, null, "ab"); 199 199 } 200 200 PASS tests[i](nativeJSON) is tests[i](JSON) 201 function (jsonObject){201 function(jsonObject){ 202 202 return jsonObject.stringify(simpleArray, null, 4); 203 203 } 204 204 PASS tests[i](nativeJSON) is tests[i](JSON) 205 function (jsonObject){205 function(jsonObject){ 206 206 return jsonObject.stringify(simpleObject, null, " "); 207 207 } 208 208 PASS tests[i](nativeJSON) is tests[i](JSON) 209 function (jsonObject){209 function(jsonObject){ 210 210 return jsonObject.stringify(simpleObject, null, 4); 211 211 } 212 212 PASS tests[i](nativeJSON) is tests[i](JSON) 213 function (jsonObject){213 function(jsonObject){ 214 214 return jsonObject.stringify(simpleObject, null, "ab"); 215 215 } 216 216 PASS tests[i](nativeJSON) is tests[i](JSON) 217 function (jsonObject){217 function(jsonObject){ 218 218 return jsonObject.stringify(simpleObject, null, 4); 219 219 } 220 220 PASS tests[i](nativeJSON) is tests[i](JSON) 221 function (jsonObject){221 function(jsonObject){ 222 222 return jsonObject.stringify(simpleObject, null, 10); 223 223 } 224 224 PASS tests[i](nativeJSON) is tests[i](JSON) 225 function (jsonObject){225 function(jsonObject){ 226 226 return jsonObject.stringify(simpleObject, null, 11); 227 227 } 228 228 PASS tests[i](nativeJSON) is tests[i].expected 229 function (jsonObject){229 function(jsonObject){ 230 230 return jsonObject.stringify(simpleObject, null, " "); 231 231 } 232 232 PASS tests[i](nativeJSON) is tests[i].expected 233 function (jsonObject){233 function(jsonObject){ 234 234 return jsonObject.stringify(simpleObject, null, " "); 235 235 } 236 236 PASS tests[i](nativeJSON) is tests[i].expected 237 function (jsonObject){237 function(jsonObject){ 238 238 return jsonObject.stringify(complexArray, null, " "); 239 239 } 240 240 PASS tests[i](nativeJSON) is tests[i](JSON) 241 function (jsonObject){241 function(jsonObject){ 242 242 return jsonObject.stringify(complexArray, null, 4); 243 243 } 244 244 PASS tests[i](nativeJSON) is tests[i](JSON) 245 function (jsonObject){245 function(jsonObject){ 246 246 return jsonObject.stringify(complexArray, null, "ab"); 247 247 } 248 248 PASS tests[i](nativeJSON) is tests[i](JSON) 249 function (jsonObject){249 function(jsonObject){ 250 250 return jsonObject.stringify(complexArray, null, 4); 251 251 } 252 252 PASS tests[i](nativeJSON) is tests[i](JSON) 253 function (jsonObject){253 function(jsonObject){ 254 254 return jsonObject.stringify(complexObject, null, " "); 255 255 } 256 256 PASS tests[i](nativeJSON) is tests[i](JSON) 257 function (jsonObject){257 function(jsonObject){ 258 258 return jsonObject.stringify(complexObject, null, 4); 259 259 } 260 260 PASS tests[i](nativeJSON) is tests[i](JSON) 261 function (jsonObject){261 function(jsonObject){ 262 262 return jsonObject.stringify(complexObject, null, "ab"); 263 263 } 264 264 PASS tests[i](nativeJSON) is tests[i](JSON) 265 function (jsonObject){265 function(jsonObject){ 266 266 return jsonObject.stringify(complexObject, null, 4); 267 267 } 268 268 PASS tests[i](nativeJSON) is tests[i](JSON) 269 function (jsonObject){269 function(jsonObject){ 270 270 var allString = true; 271 271 var array = ["1","2","3"]; … … 273 273 } 274 274 PASS tests[i](nativeJSON) is tests[i](JSON) 275 function (jsonObject){275 function(jsonObject){ 276 276 return jsonObject.stringify(simpleArrayWithProto, null, " "); 277 277 } 278 278 PASS tests[i](nativeJSON) is tests[i](JSON) 279 function (jsonObject){279 function(jsonObject){ 280 280 return jsonObject.stringify(simpleArrayWithProto, null, 4); 281 281 } 282 282 PASS tests[i](nativeJSON) is tests[i](JSON) 283 function (jsonObject){283 function(jsonObject){ 284 284 return jsonObject.stringify(simpleArrayWithProto, null, "ab"); 285 285 } 286 286 PASS tests[i](nativeJSON) is tests[i](JSON) 287 function (jsonObject){287 function(jsonObject){ 288 288 return jsonObject.stringify(simpleArrayWithProto, null, 4); 289 289 } 290 290 PASS tests[i](nativeJSON) is tests[i](JSON) 291 function (jsonObject){291 function(jsonObject){ 292 292 return jsonObject.stringify(simpleObjectWithProto, null, " "); 293 293 } 294 294 PASS tests[i](nativeJSON) is tests[i](JSON) 295 function (jsonObject){295 function(jsonObject){ 296 296 return jsonObject.stringify(simpleObjectWithProto, null, 4); 297 297 } 298 298 PASS tests[i](nativeJSON) is tests[i](JSON) 299 function (jsonObject){299 function(jsonObject){ 300 300 return jsonObject.stringify(simpleObjectWithProto, null, "ab"); 301 301 } 302 302 PASS tests[i](nativeJSON) is tests[i](JSON) 303 function (jsonObject){303 function(jsonObject){ 304 304 return jsonObject.stringify(simpleObjectWithProto, null, 4); 305 305 } 306 306 PASS tests[i](nativeJSON) is tests[i](JSON) 307 function (jsonObject){307 function(jsonObject){ 308 308 return jsonObject.stringify(simpleObjectWithProto, null, 10); 309 309 } 310 310 PASS tests[i](nativeJSON) is tests[i](JSON) 311 function (jsonObject){311 function(jsonObject){ 312 312 return jsonObject.stringify(simpleObjectWithProto, null, 11); 313 313 } 314 314 PASS tests[i](nativeJSON) is tests[i].expected 315 function (jsonObject){315 function(jsonObject){ 316 316 return jsonObject.stringify(simpleObjectWithProto, null, " "); 317 317 } 318 318 PASS tests[i](nativeJSON) is tests[i].expected 319 function (jsonObject){319 function(jsonObject){ 320 320 return jsonObject.stringify(simpleObjectWithProto, null, " "); 321 321 } 322 322 PASS tests[i](nativeJSON) is tests[i].expected 323 function (jsonObject){323 function(jsonObject){ 324 324 return jsonObject.stringify(complexArrayWithProto, null, " "); 325 325 } 326 326 PASS tests[i](nativeJSON) is tests[i](JSON) 327 function (jsonObject){327 function(jsonObject){ 328 328 return jsonObject.stringify(complexArrayWithProto, null, 4); 329 329 } 330 330 PASS tests[i](nativeJSON) is tests[i](JSON) 331 function (jsonObject){331 function(jsonObject){ 332 332 return jsonObject.stringify(complexArrayWithProto, null, "ab"); 333 333 } 334 334 PASS tests[i](nativeJSON) is tests[i](JSON) 335 function (jsonObject){335 function(jsonObject){ 336 336 return jsonObject.stringify(complexArrayWithProto, null, 4); 337 337 } 338 338 PASS tests[i](nativeJSON) is tests[i](JSON) 339 function (jsonObject){339 function(jsonObject){ 340 340 return jsonObject.stringify(complexObjectWithProto, null, " "); 341 341 } 342 342 PASS tests[i](nativeJSON) is tests[i](JSON) 343 function (jsonObject){343 function(jsonObject){ 344 344 return jsonObject.stringify(complexObjectWithProto, null, 4); 345 345 } 346 346 PASS tests[i](nativeJSON) is tests[i](JSON) 347 function (jsonObject){347 function(jsonObject){ 348 348 return jsonObject.stringify(complexObjectWithProto, null, "ab"); 349 349 } 350 350 PASS tests[i](nativeJSON) is tests[i](JSON) 351 function (jsonObject){351 function(jsonObject){ 352 352 return jsonObject.stringify(complexObjectWithProto, null, 4); 353 353 } 354 354 PASS tests[i](nativeJSON) is tests[i](JSON) 355 function (jsonObject){355 function(jsonObject){ 356 356 return jsonObject.stringify(clientRect); 357 357 } 358 358 PASS tests[i](nativeJSON) is tests[i].expected 359 function (jsonObject){359 function(jsonObject){ 360 360 return jsonObject.stringify(objectWithSideEffectGetter); 361 361 } 362 362 PASS tests[i](nativeJSON) is tests[i].expected 363 function (jsonObject){363 function(jsonObject){ 364 364 return jsonObject.stringify(objectWithSideEffectGetter); 365 365 } 366 366 PASS tests[i](nativeJSON) is tests[i](JSON) 367 function (jsonObject){367 function(jsonObject){ 368 368 return jsonObject.stringify(objectWithSideEffectGetterAndProto); 369 369 } 370 370 PASS tests[i](nativeJSON) is tests[i].expected 371 function (jsonObject){371 function(jsonObject){ 372 372 return jsonObject.stringify(objectWithSideEffectGetterAndProto); 373 373 } 374 374 PASS tests[i](nativeJSON) is tests[i](JSON) 375 function (jsonObject){375 function(jsonObject){ 376 376 return jsonObject.stringify(arrayWithSideEffectGetter); 377 377 } 378 378 PASS tests[i](nativeJSON) is tests[i](JSON) 379 function (jsonObject){379 function(jsonObject){ 380 380 return jsonObject.stringify(arrayWithSideEffectGetterAndProto); 381 381 } 382 382 PASS tests[i](nativeJSON) is tests[i](JSON) 383 function (jsonObject){383 function(jsonObject){ 384 384 replaceTracker = ""; 385 385 jsonObject.stringify([1,2,3,,,,4,5,6], replaceFunc); … … 387 387 } 388 388 PASS tests[i](nativeJSON) is tests[i].expected 389 function (jsonObject){389 function(jsonObject){ 390 390 replaceTracker = ""; 391 391 jsonObject.stringify({a:"a", b:"b", c:"c", 3: "d", 2: "e", 1: "f"}, replaceFunc); … … 393 393 } 394 394 PASS tests[i](nativeJSON) is tests[i].expected 395 function (jsonObject){395 function(jsonObject){ 396 396 var count = 0; 397 397 var array = [{toString:function(){count++; array[0]='a'; array[1]='c'; array[2]='b'; return 'a'}}]; … … 400 400 } 401 401 PASS tests[i](nativeJSON) is tests[i](JSON) 402 function (jsonObject){402 function(jsonObject){ 403 403 var allString = true; 404 404 var array = [{toString:function(){array[0]='a'; array[1]='c'; array[2]='b'; return 'a'}}, 'b', 'c']; … … 406 406 } 407 407 PASS tests[i](nativeJSON) is tests[i](JSON) 408 function (jsonObject){408 function(jsonObject){ 409 409 var count = 0; 410 410 var array = [{toString:function(){count++; array[0]='a'; array[1]='c'; array[2]='b'; return 'a'}}, 'b', 'c']; … … 413 413 } 414 414 PASS tests[i](nativeJSON) is tests[i](JSON) 415 function (jsonObject){415 function(jsonObject){ 416 416 return jsonObject.stringify({a:"1", get b() { this.a="foo"; return "getter"; }, c:"3"}); 417 417 } 418 418 PASS tests[i](nativeJSON) is tests[i](JSON) 419 function (jsonObject){419 function(jsonObject){ 420 420 return jsonObject.stringify({a:"1", get b() { this.c="foo"; return "getter"; }, c:"3"}); 421 421 } 422 422 PASS tests[i](nativeJSON) is tests[i](JSON) 423 function (jsonObject){423 function(jsonObject){ 424 424 var setterCalled = false; 425 425 jsonObject.stringify({a:"1", set b(s) { setterCalled = true; return "setter"; }, c:"3"}); … … 427 427 } 428 428 PASS tests[i](nativeJSON) is tests[i](JSON) 429 function (jsonObject){429 function(jsonObject){ 430 430 return jsonObject.stringify({a:"1", get b(){ return "getter"; }, set b(s) { return "setter"; }, c:"3"}); 431 431 } 432 432 PASS tests[i](nativeJSON) is tests[i](JSON) 433 function (jsonObject){433 function(jsonObject){ 434 434 return jsonObject.stringify(new Array(10)); 435 435 } 436 436 PASS tests[i](nativeJSON) is tests[i](JSON) 437 function (jsonObject){437 function(jsonObject){ 438 438 return jsonObject.stringify([undefined,,null,0,false]); 439 439 } 440 440 PASS tests[i](nativeJSON) is tests[i](JSON) 441 function (jsonObject){441 function(jsonObject){ 442 442 return jsonObject.stringify({p1:undefined,p2:null,p3:0,p4:false}); 443 443 } 444 444 PASS tests[i](nativeJSON) is tests[i](JSON) 445 function (jsonObject){445 function(jsonObject){ 446 446 cycleTracker = ""; 447 447 return jsonObject.stringify(cyclicObject); 448 448 } 449 449 PASS tests[i](nativeJSON) threw exception TypeError: JSON.stringify cannot serialize cyclic structures.. 450 function (jsonObject){450 function(jsonObject){ 451 451 cycleTracker = ""; 452 452 try { jsonObject.stringify(cyclicObject); } catch(e) { cycleTracker += " -> exception" } … … 454 454 } 455 455 PASS tests[i](nativeJSON) is tests[i].expected 456 function (jsonObject){456 function(jsonObject){ 457 457 cycleTracker = ""; 458 458 return jsonObject.stringify(cyclicArray); 459 459 } 460 460 PASS tests[i](nativeJSON) threw exception TypeError: JSON.stringify cannot serialize cyclic structures.. 461 function (jsonObject){461 function(jsonObject){ 462 462 cycleTracker = ""; 463 463 try { jsonObject.stringify(cyclicArray); } catch(e) { cycleTracker += " -> exception" } … … 465 465 } 466 466 PASS tests[i](nativeJSON) is tests[i].expected 467 function (jsonObject){467 function(jsonObject){ 468 468 getterCalls = 0; 469 469 return jsonObject.stringify(magicObject) + " :: getter calls = " + getterCalls; 470 470 } 471 471 PASS tests[i](nativeJSON) is tests[i](JSON) 472 function (jsonObject){472 function(jsonObject){ 473 473 return jsonObject.stringify(undefined); 474 474 } 475 475 PASS tests[i](nativeJSON) is tests[i](JSON) 476 function (jsonObject){476 function(jsonObject){ 477 477 return jsonObject.stringify(null); 478 478 } 479 479 PASS tests[i](nativeJSON) is tests[i](JSON) 480 function (jsonObject){480 function(jsonObject){ 481 481 return jsonObject.stringify({toJSON:function(){ return undefined; }}); 482 482 } 483 483 PASS tests[i](nativeJSON) is tests[i](JSON) 484 function (jsonObject){484 function(jsonObject){ 485 485 return jsonObject.stringify({toJSON:function(){ return null; }}); 486 486 } 487 487 PASS tests[i](nativeJSON) is tests[i](JSON) 488 function (jsonObject){488 function(jsonObject){ 489 489 return jsonObject.stringify([{toJSON:function(){ return undefined; }}]); 490 490 } 491 491 PASS tests[i](nativeJSON) is tests[i](JSON) 492 function (jsonObject){492 function(jsonObject){ 493 493 return jsonObject.stringify([{toJSON:function(){ return null; }}]); 494 494 } 495 495 PASS tests[i](nativeJSON) is tests[i](JSON) 496 function (jsonObject){496 function(jsonObject){ 497 497 return jsonObject.stringify({a:{toJSON:function(){ return undefined; }}}); 498 498 } 499 499 PASS tests[i](nativeJSON) is tests[i](JSON) 500 function (jsonObject){500 function(jsonObject){ 501 501 return jsonObject.stringify({a:{toJSON:function(){ return null; }}}); 502 502 } 503 503 PASS tests[i](nativeJSON) is tests[i](JSON) 504 function (jsonObject){504 function(jsonObject){ 505 505 return jsonObject.stringify({a:{toJSON:function(){ return function(){}; }}}); 506 506 } 507 507 PASS tests[i](nativeJSON) is tests[i](JSON) 508 function (jsonObject){508 function(jsonObject){ 509 509 return jsonObject.stringify({a:function(){}}); 510 510 } 511 511 PASS tests[i](nativeJSON) is tests[i](JSON) 512 function (jsonObject){512 function(jsonObject){ 513 513 var deepObject = {}; 514 514 for (var i = 0; i < 2048; i++) … … 517 517 } 518 518 PASS tests[i](nativeJSON) is tests[i](JSON) 519 function (jsonObject){519 function(jsonObject){ 520 520 var deepArray = []; 521 521 for (var i = 0; i < 2048; i++) … … 524 524 } 525 525 PASS tests[i](nativeJSON) is tests[i](JSON) 526 function (jsonObject){526 function(jsonObject){ 527 527 var depth = 0; 528 528 function toDeepVirtualJSONObject() { … … 536 536 } 537 537 PASS tests[i](nativeJSON) is tests[i](JSON) 538 function (jsonObject){538 function(jsonObject){ 539 539 var depth = 0; 540 540 function toDeepVirtualJSONArray() { … … 547 547 return jsonObject.stringify(toDeepVirtualJSONArray()); 548 548 } 549 function (jsonObject){549 function(jsonObject){ 550 550 return jsonObject.stringify(fullCharsetString); 551 551 } -
trunk/LayoutTests/js/dom/dfg-strcat-over-objects-then-exit-on-it-expected.txt
r156066 r181810 4 4 5 5 6 PASS bar() is "function 7 PASS bar() is "function 8 PASS bar() is "function 9 PASS bar() is "function 10 PASS bar() is "function 11 PASS bar() is "function 12 PASS bar() is "function 13 PASS bar() is "function 14 PASS bar() is "function 15 PASS bar() is "function 16 PASS bar() is "function 17 PASS bar() is "function 18 PASS bar() is "function 19 PASS bar() is "function 20 PASS bar() is "function 21 PASS bar() is "function 22 PASS bar() is "function 23 PASS bar() is "function 24 PASS bar() is "function 25 PASS bar() is "function 26 PASS bar() is "function 27 PASS bar() is "function 28 PASS bar() is "function 29 PASS bar() is "function 30 PASS bar() is "function 31 PASS bar() is "function 32 PASS bar() is "function 33 PASS bar() is "function 34 PASS bar() is "function 35 PASS bar() is "function 36 PASS bar() is "function 37 PASS bar() is "function 38 PASS bar() is "function 39 PASS bar() is "function 40 PASS bar() is "function 41 PASS bar() is "function 42 PASS bar() is "function 43 PASS bar() is "function 44 PASS bar() is "function 45 PASS bar() is "function 46 PASS bar() is "function 47 PASS bar() is "function 48 PASS bar() is "function 49 PASS bar() is "function 50 PASS bar() is "function 51 PASS bar() is "function 52 PASS bar() is "function 53 PASS bar() is "function 54 PASS bar() is "function 55 PASS bar() is "function 56 PASS bar() is "function 57 PASS bar() is "function 58 PASS bar() is "function 59 PASS bar() is "function 60 PASS bar() is "function 61 PASS bar() is "function 62 PASS bar() is "function 63 PASS bar() is "function 64 PASS bar() is "function 65 PASS bar() is "function 66 PASS bar() is "function 67 PASS bar() is "function 68 PASS bar() is "function 69 PASS bar() is "function 70 PASS bar() is "function 71 PASS bar() is "function 72 PASS bar() is "function 73 PASS bar() is "function 74 PASS bar() is "function 75 PASS bar() is "function 76 PASS bar() is "function 77 PASS bar() is "function 78 PASS bar() is "function 79 PASS bar() is "function 80 PASS bar() is "function 81 PASS bar() is "function 82 PASS bar() is "function 83 PASS bar() is "function 84 PASS bar() is "function 85 PASS bar() is "function 86 PASS bar() is "function 87 PASS bar() is "function 88 PASS bar() is "function 89 PASS bar() is "function 90 PASS bar() is "function 91 PASS bar() is "function 92 PASS bar() is "function 93 PASS bar() is "function 94 PASS bar() is "function 95 PASS bar() is "function 96 PASS bar() is "function 97 PASS bar() is "function 98 PASS bar() is "function 99 PASS bar() is "function 100 PASS bar() is "function 101 PASS bar() is "function 102 PASS bar() is "function 103 PASS bar() is "function 104 PASS bar() is "function 105 PASS bar() is "function 106 PASS bar() is "function 107 PASS bar() is "function 108 PASS bar() is "function 109 PASS bar() is "function 110 PASS bar() is "function 111 PASS bar() is "function 112 PASS bar() is "function 113 PASS bar() is "function 114 PASS bar() is "function 115 PASS bar() is "function 116 PASS bar() is "function 117 PASS bar() is "function 118 PASS bar() is "function 119 PASS bar() is "function 120 PASS bar() is "function 121 PASS bar() is "function 122 PASS bar() is "function 123 PASS bar() is "function 124 PASS bar() is "function 125 PASS bar() is "function 126 PASS bar() is "function 127 PASS bar() is "function 128 PASS bar() is "function 129 PASS bar() is "function 130 PASS bar() is "function 131 PASS bar() is "function 132 PASS bar() is "function 133 PASS bar() is "function 134 PASS bar() is "function 135 PASS bar() is "function 136 PASS bar() is "function 137 PASS bar() is "function 138 PASS bar() is "function 139 PASS bar() is "function 140 PASS bar() is "function 141 PASS bar() is "function 142 PASS bar() is "function 143 PASS bar() is "function 144 PASS bar() is "function 145 PASS bar() is "function 146 PASS bar() is "function 147 PASS bar() is "function 148 PASS bar() is "function 149 PASS bar() is "function 150 PASS bar() is "function 151 PASS bar() is "function 152 PASS bar() is "function 153 PASS bar() is "function 154 PASS bar() is "function 155 PASS bar() is "function 156 PASS bar() is "function 157 PASS bar() is "function 158 PASS bar() is "function 159 PASS bar() is "function 160 PASS bar() is "function 161 PASS bar() is "function 162 PASS bar() is "function 163 PASS bar() is "function 164 PASS bar() is "function 165 PASS bar() is "function 166 PASS bar() is "function 167 PASS bar() is "function 168 PASS bar() is "function 169 PASS bar() is "function 170 PASS bar() is "function 171 PASS bar() is "function 172 PASS bar() is "function 173 PASS bar() is "function 174 PASS bar() is "function 175 PASS bar() is "function 176 PASS bar() is "function 177 PASS bar() is "function 178 PASS bar() is "function 179 PASS bar() is "function 180 PASS bar() is "function 181 PASS bar() is "function 182 PASS bar() is "function 183 PASS bar() is "function 184 PASS bar() is "function 185 PASS bar() is "function 186 PASS bar() is "function 187 PASS bar() is "function 188 PASS bar() is "function 189 PASS bar() is "function 190 PASS bar() is "function 191 PASS bar() is "function 192 PASS bar() is "function 193 PASS bar() is "function 194 PASS bar() is "function 195 PASS bar() is "function 196 PASS bar() is "function 197 PASS bar() is "function 198 PASS bar() is "function 199 PASS bar() is "function 200 PASS bar() is "function 201 PASS bar() is "function 202 PASS bar() is "function 203 PASS bar() is "function 204 PASS bar() is "function 205 PASS bar() is "function 206 PASS bar() is "function 207 PASS bar() is "function 208 PASS bar() is "function 209 PASS bar() is "function 210 PASS bar() is "function 211 PASS bar() is "function 212 PASS bar() is "function 213 PASS bar() is "function 214 PASS bar() is "function 215 PASS bar() is "function 216 PASS bar() is "function 217 PASS bar() is "function 218 PASS bar() is "function 219 PASS bar() is "function 220 PASS bar() is "function 221 PASS bar() is "function 222 PASS bar() is "function 223 PASS bar() is "function 224 PASS bar() is "function 225 PASS bar() is "function 226 PASS bar() is "function 227 PASS bar() is "function 228 PASS bar() is "function 229 PASS bar() is "function 230 PASS bar() is "function 231 PASS bar() is "function 232 PASS bar() is "function 233 PASS bar() is "function 234 PASS bar() is "function 235 PASS bar() is "function 236 PASS bar() is "function 237 PASS bar() is "function 238 PASS bar() is "function 239 PASS bar() is "function 240 PASS bar() is "function 241 PASS bar() is "function 242 PASS bar() is "function 243 PASS bar() is "function 244 PASS bar() is "function 245 PASS bar() is "function 246 PASS bar() is "function 247 PASS bar() is "function 248 PASS bar() is "function 249 PASS bar() is "function 250 PASS bar() is "function 251 PASS bar() is "function 252 PASS bar() is "function 253 PASS bar() is "function 254 PASS bar() is "function 255 PASS bar() is "function 256 PASS bar() is "function 257 PASS bar() is "function 258 PASS bar() is "function 259 PASS bar() is "function 260 PASS bar() is "function 261 PASS bar() is "function 262 PASS bar() is "function 263 PASS bar() is "function 264 PASS bar() is "function 265 PASS bar() is "function 266 PASS bar() is "function 267 PASS bar() is "function 268 PASS bar() is "function 269 PASS bar() is "function 270 PASS bar() is "function 271 PASS bar() is "function 272 PASS bar() is "function 273 PASS bar() is "function 274 PASS bar() is "function 275 PASS bar() is "function 276 PASS bar() is "function 277 PASS bar() is "function 278 PASS bar() is "function 279 PASS bar() is "function 280 PASS bar() is "function 281 PASS bar() is "function 282 PASS bar() is "function 283 PASS bar() is "function 284 PASS bar() is "function 285 PASS bar() is "function 286 PASS bar() is "function 287 PASS bar() is "function 288 PASS bar() is "function 289 PASS bar() is "function 290 PASS bar() is "function 291 PASS bar() is "function 292 PASS bar() is "function 293 PASS bar() is "function 294 PASS bar() is "function 295 PASS bar() is "function 296 PASS bar() is "function 297 PASS bar() is "function 298 PASS bar() is "function 299 PASS bar() is "function 300 PASS bar() is "function 301 PASS bar() is "function 302 PASS bar() is "function 303 PASS bar() is "function 304 PASS bar() is "function 305 PASS bar() is "function 306 PASS bar() is "function 307 PASS bar() is "function 308 PASS bar() is "function 309 PASS bar() is "function 310 PASS bar() is "function 311 PASS bar() is "function 312 PASS bar() is "function 313 PASS bar() is "function 314 PASS bar() is "function 315 PASS bar() is "function 316 PASS bar() is "function 317 PASS bar() is "function 318 PASS bar() is "function 319 PASS bar() is "function 320 PASS bar() is "function 321 PASS bar() is "function 322 PASS bar() is "function 323 PASS bar() is "function 324 PASS bar() is "function 325 PASS bar() is "function 326 PASS bar() is "function 327 PASS bar() is "function 328 PASS bar() is "function 329 PASS bar() is "function 330 PASS bar() is "function 331 PASS bar() is "function 332 PASS bar() is "function 333 PASS bar() is "function 334 PASS bar() is "function 335 PASS bar() is "function 336 PASS bar() is "function 337 PASS bar() is "function 338 PASS bar() is "function 339 PASS bar() is "function 340 PASS bar() is "function 341 PASS bar() is "function 342 PASS bar() is "function 343 PASS bar() is "function 344 PASS bar() is "function 345 PASS bar() is "function 346 PASS bar() is "function 347 PASS bar() is "function 348 PASS bar() is "function 349 PASS bar() is "function 350 PASS bar() is "function 351 PASS bar() is "function 352 PASS bar() is "function 353 PASS bar() is "function 354 PASS bar() is "function 355 PASS bar() is "function 356 PASS bar() is "function 357 PASS bar() is "function 358 PASS bar() is "function 359 PASS bar() is "function 360 PASS bar() is "function 361 PASS bar() is "function 362 PASS bar() is "function 363 PASS bar() is "function 364 PASS bar() is "function 365 PASS bar() is "function 366 PASS bar() is "function 367 PASS bar() is "function 368 PASS bar() is "function 369 PASS bar() is "function 370 PASS bar() is "function 371 PASS bar() is "function 372 PASS bar() is "function 373 PASS bar() is "function 374 PASS bar() is "function 375 PASS bar() is "function 376 PASS bar() is "function 377 PASS bar() is "function 378 PASS bar() is "function 379 PASS bar() is "function 380 PASS bar() is "function 381 PASS bar() is "function 382 PASS bar() is "function 383 PASS bar() is "function 384 PASS bar() is "function 385 PASS bar() is "function 386 PASS bar() is "function 387 PASS bar() is "function 388 PASS bar() is "function 389 PASS bar() is "function 390 PASS bar() is "function 391 PASS bar() is "function 392 PASS bar() is "function 393 PASS bar() is "function 394 PASS bar() is "function 395 PASS bar() is "function 396 PASS bar() is "function 397 PASS bar() is "function 398 PASS bar() is "function 399 PASS bar() is "function 400 PASS bar() is "function 401 PASS bar() is "function 402 PASS bar() is "function 403 PASS bar() is "function 404 PASS bar() is "function 405 PASS bar() is "function 406 PASS bar() is "function 407 PASS bar() is "function 408 PASS bar() is "function 409 PASS bar() is "function 410 PASS bar() is "function 411 PASS bar() is "function 412 PASS bar() is "function 413 PASS bar() is "function 414 PASS bar() is "function 415 PASS bar() is "function 416 PASS bar() is "function 417 PASS bar() is "function 418 PASS bar() is "function 419 PASS bar() is "function 420 PASS bar() is "function 421 PASS bar() is "function 422 PASS bar() is "function 423 PASS bar() is "function 424 PASS bar() is "function 425 PASS bar() is "function 426 PASS bar() is "function 427 PASS bar() is "function 428 PASS bar() is "function 429 PASS bar() is "function 430 PASS bar() is "function 431 PASS bar() is "function 432 PASS bar() is "function 433 PASS bar() is "function 434 PASS bar() is "function 435 PASS bar() is "function 436 PASS bar() is "function 437 PASS bar() is "function 438 PASS bar() is "function 439 PASS bar() is "function 440 PASS bar() is "function 441 PASS bar() is "function 442 PASS bar() is "function 443 PASS bar() is "function 444 PASS bar() is "function 445 PASS bar() is "function 446 PASS bar() is "function 447 PASS bar() is "function 448 PASS bar() is "function 449 PASS bar() is "function 450 PASS bar() is "function 451 PASS bar() is "function 452 PASS bar() is "function 453 PASS bar() is "function 454 PASS bar() is "function 455 PASS bar() is "function 456 PASS bar() is "function 457 PASS bar() is "function 458 PASS bar() is "function 459 PASS bar() is "function 460 PASS bar() is "function 461 PASS bar() is "function 462 PASS bar() is "function 463 PASS bar() is "function 464 PASS bar() is "function 465 PASS bar() is "function 466 PASS bar() is "function 467 PASS bar() is "function 468 PASS bar() is "function 469 PASS bar() is "function 470 PASS bar() is "function 471 PASS bar() is "function 472 PASS bar() is "function 473 PASS bar() is "function 474 PASS bar() is "function 475 PASS bar() is "function 476 PASS bar() is "function 477 PASS bar() is "function 478 PASS bar() is "function 479 PASS bar() is "function 480 PASS bar() is "function 481 PASS bar() is "function 482 PASS bar() is "function 483 PASS bar() is "function 484 PASS bar() is "function 485 PASS bar() is "function 486 PASS bar() is "function 487 PASS bar() is "function 488 PASS bar() is "function 489 PASS bar() is "function 490 PASS bar() is "function 491 PASS bar() is "function 492 PASS bar() is "function 493 PASS bar() is "function 494 PASS bar() is "function 495 PASS bar() is "function 496 PASS bar() is "function 497 PASS bar() is "function 498 PASS bar() is "function 499 PASS bar() is "function 500 PASS bar() is "function 501 PASS bar() is "function 502 PASS bar() is "function 503 PASS bar() is "function 504 PASS bar() is "function 505 PASS bar() is "function 506 PASS bar() is "function 507 PASS bar() is "function 508 PASS bar() is "function 509 PASS bar() is "function 510 PASS bar() is "function 511 PASS bar() is "function 512 PASS bar() is "function 513 PASS bar() is "function 514 PASS bar() is "function 515 PASS bar() is "function 516 PASS bar() is "function 517 PASS bar() is "function 518 PASS bar() is "function 519 PASS bar() is "function 520 PASS bar() is "function 521 PASS bar() is "function 522 PASS bar() is "function 523 PASS bar() is "function 524 PASS bar() is "function 525 PASS bar() is "function 526 PASS bar() is "function 527 PASS bar() is "function 528 PASS bar() is "function 529 PASS bar() is "function 530 PASS bar() is "function 531 PASS bar() is "function 532 PASS bar() is "function 533 PASS bar() is "function 534 PASS bar() is "function 535 PASS bar() is "function 536 PASS bar() is "function 537 PASS bar() is "function 538 PASS bar() is "function 539 PASS bar() is "function 540 PASS bar() is "function 541 PASS bar() is "function 542 PASS bar() is "function 543 PASS bar() is "function 544 PASS bar() is "function 545 PASS bar() is "function 546 PASS bar() is "function 547 PASS bar() is "function 548 PASS bar() is "function 549 PASS bar() is "function 550 PASS bar() is "function 551 PASS bar() is "function 552 PASS bar() is "function 553 PASS bar() is "function 554 PASS bar() is "function 555 PASS bar() is "function 556 PASS bar() is "function 557 PASS bar() is "function 558 PASS bar() is "function 559 PASS bar() is "function 560 PASS bar() is "function 561 PASS bar() is "function 562 PASS bar() is "function 563 PASS bar() is "function 564 PASS bar() is "function 565 PASS bar() is "function 566 PASS bar() is "function 567 PASS bar() is "function 568 PASS bar() is "function 569 PASS bar() is "function 570 PASS bar() is "function 571 PASS bar() is "function 572 PASS bar() is "function 573 PASS bar() is "function 574 PASS bar() is "function 575 PASS bar() is "function 576 PASS bar() is "function 577 PASS bar() is "function 578 PASS bar() is "function 579 PASS bar() is "function 580 PASS bar() is "function 581 PASS bar() is "function 582 PASS bar() is "function 583 PASS bar() is "function 584 PASS bar() is "function 585 PASS bar() is "function 586 PASS bar() is "function 587 PASS bar() is "function 588 PASS bar() is "function 589 PASS bar() is "function 590 PASS bar() is "function 591 PASS bar() is "function 592 PASS bar() is "function 593 PASS bar() is "function 594 PASS bar() is "function 595 PASS bar() is "function 596 PASS bar() is "function 597 PASS bar() is "function 598 PASS bar() is "function 599 PASS bar() is "function 600 PASS bar() is "function 601 PASS bar() is "function 602 PASS bar() is "function 603 PASS bar() is "function 604 PASS bar() is "function 605 PASS bar() is "function 606 PASS bar() is "function 607 PASS bar() is "function 608 PASS bar() is "function 609 PASS bar() is "function 610 PASS bar() is "function 611 PASS bar() is "function 612 PASS bar() is "function 613 PASS bar() is "function 614 PASS bar() is "function 615 PASS bar() is "function 616 PASS bar() is "function 617 PASS bar() is "function 618 PASS bar() is "function 619 PASS bar() is "function 620 PASS bar() is "function 621 PASS bar() is "function 622 PASS bar() is "function 623 PASS bar() is "function 624 PASS bar() is "function 625 PASS bar() is "function 626 PASS bar() is "function 627 PASS bar() is "function 628 PASS bar() is "function 629 PASS bar() is "function 630 PASS bar() is "function 631 PASS bar() is "function 632 PASS bar() is "function 633 PASS bar() is "function 634 PASS bar() is "function 635 PASS bar() is "function 636 PASS bar() is "function 637 PASS bar() is "function 638 PASS bar() is "function 639 PASS bar() is "function 640 PASS bar() is "function 641 PASS bar() is "function 642 PASS bar() is "function 643 PASS bar() is "function 644 PASS bar() is "function 645 PASS bar() is "function 646 PASS bar() is "function 647 PASS bar() is "function 648 PASS bar() is "function 649 PASS bar() is "function 650 PASS bar() is "function 651 PASS bar() is "function 652 PASS bar() is "function 653 PASS bar() is "function 654 PASS bar() is "function 655 PASS bar() is "function 656 PASS bar() is "function 657 PASS bar() is "function 658 PASS bar() is "function 659 PASS bar() is "function 660 PASS bar() is "function 661 PASS bar() is "function 662 PASS bar() is "function 663 PASS bar() is "function 664 PASS bar() is "function 665 PASS bar() is "function 666 PASS bar() is "function 667 PASS bar() is "function 668 PASS bar() is "function 669 PASS bar() is "function 670 PASS bar() is "function 671 PASS bar() is "function 672 PASS bar() is "function 673 PASS bar() is "function 674 PASS bar() is "function 675 PASS bar() is "function 676 PASS bar() is "function 677 PASS bar() is "function 678 PASS bar() is "function 679 PASS bar() is "function 680 PASS bar() is "function 681 PASS bar() is "function 682 PASS bar() is "function 683 PASS bar() is "function 684 PASS bar() is "function 685 PASS bar() is "function 686 PASS bar() is "function 687 PASS bar() is "function 688 PASS bar() is "function 689 PASS bar() is "function 690 PASS bar() is "function 691 PASS bar() is "function 692 PASS bar() is "function 693 PASS bar() is "function 694 PASS bar() is "function 695 PASS bar() is "function 696 PASS bar() is "function 697 PASS bar() is "function 698 PASS bar() is "function 699 PASS bar() is "function 700 PASS bar() is "function 701 PASS bar() is "function 702 PASS bar() is "function 703 PASS bar() is "function 704 PASS bar() is "function 705 PASS bar() is "function 6 PASS bar() is "function() { }" 7 PASS bar() is "function() { }" 8 PASS bar() is "function() { }" 9 PASS bar() is "function() { }" 10 PASS bar() is "function() { }" 11 PASS bar() is "function() { }" 12 PASS bar() is "function() { }" 13 PASS bar() is "function() { }" 14 PASS bar() is "function() { }" 15 PASS bar() is "function() { }" 16 PASS bar() is "function() { }" 17 PASS bar() is "function() { }" 18 PASS bar() is "function() { }" 19 PASS bar() is "function() { }" 20 PASS bar() is "function() { }" 21 PASS bar() is "function() { }" 22 PASS bar() is "function() { }" 23 PASS bar() is "function() { }" 24 PASS bar() is "function() { }" 25 PASS bar() is "function() { }" 26 PASS bar() is "function() { }" 27 PASS bar() is "function() { }" 28 PASS bar() is "function() { }" 29 PASS bar() is "function() { }" 30 PASS bar() is "function() { }" 31 PASS bar() is "function() { }" 32 PASS bar() is "function() { }" 33 PASS bar() is "function() { }" 34 PASS bar() is "function() { }" 35 PASS bar() is "function() { }" 36 PASS bar() is "function() { }" 37 PASS bar() is "function() { }" 38 PASS bar() is "function() { }" 39 PASS bar() is "function() { }" 40 PASS bar() is "function() { }" 41 PASS bar() is "function() { }" 42 PASS bar() is "function() { }" 43 PASS bar() is "function() { }" 44 PASS bar() is "function() { }" 45 PASS bar() is "function() { }" 46 PASS bar() is "function() { }" 47 PASS bar() is "function() { }" 48 PASS bar() is "function() { }" 49 PASS bar() is "function() { }" 50 PASS bar() is "function() { }" 51 PASS bar() is "function() { }" 52 PASS bar() is "function() { }" 53 PASS bar() is "function() { }" 54 PASS bar() is "function() { }" 55 PASS bar() is "function() { }" 56 PASS bar() is "function() { }" 57 PASS bar() is "function() { }" 58 PASS bar() is "function() { }" 59 PASS bar() is "function() { }" 60 PASS bar() is "function() { }" 61 PASS bar() is "function() { }" 62 PASS bar() is "function() { }" 63 PASS bar() is "function() { }" 64 PASS bar() is "function() { }" 65 PASS bar() is "function() { }" 66 PASS bar() is "function() { }" 67 PASS bar() is "function() { }" 68 PASS bar() is "function() { }" 69 PASS bar() is "function() { }" 70 PASS bar() is "function() { }" 71 PASS bar() is "function() { }" 72 PASS bar() is "function() { }" 73 PASS bar() is "function() { }" 74 PASS bar() is "function() { }" 75 PASS bar() is "function() { }" 76 PASS bar() is "function() { }" 77 PASS bar() is "function() { }" 78 PASS bar() is "function() { }" 79 PASS bar() is "function() { }" 80 PASS bar() is "function() { }" 81 PASS bar() is "function() { }" 82 PASS bar() is "function() { }" 83 PASS bar() is "function() { }" 84 PASS bar() is "function() { }" 85 PASS bar() is "function() { }" 86 PASS bar() is "function() { }" 87 PASS bar() is "function() { }" 88 PASS bar() is "function() { }" 89 PASS bar() is "function() { }" 90 PASS bar() is "function() { }" 91 PASS bar() is "function() { }" 92 PASS bar() is "function() { }" 93 PASS bar() is "function() { }" 94 PASS bar() is "function() { }" 95 PASS bar() is "function() { }" 96 PASS bar() is "function() { }" 97 PASS bar() is "function() { }" 98 PASS bar() is "function() { }" 99 PASS bar() is "function() { }" 100 PASS bar() is "function() { }" 101 PASS bar() is "function() { }" 102 PASS bar() is "function() { }" 103 PASS bar() is "function() { }" 104 PASS bar() is "function() { }" 105 PASS bar() is "function() { }" 106 PASS bar() is "function() { }" 107 PASS bar() is "function() { }" 108 PASS bar() is "function() { }" 109 PASS bar() is "function() { }" 110 PASS bar() is "function() { }" 111 PASS bar() is "function() { }" 112 PASS bar() is "function() { }" 113 PASS bar() is "function() { }" 114 PASS bar() is "function() { }" 115 PASS bar() is "function() { }" 116 PASS bar() is "function() { }" 117 PASS bar() is "function() { }" 118 PASS bar() is "function() { }" 119 PASS bar() is "function() { }" 120 PASS bar() is "function() { }" 121 PASS bar() is "function() { }" 122 PASS bar() is "function() { }" 123 PASS bar() is "function() { }" 124 PASS bar() is "function() { }" 125 PASS bar() is "function() { }" 126 PASS bar() is "function() { }" 127 PASS bar() is "function() { }" 128 PASS bar() is "function() { }" 129 PASS bar() is "function() { }" 130 PASS bar() is "function() { }" 131 PASS bar() is "function() { }" 132 PASS bar() is "function() { }" 133 PASS bar() is "function() { }" 134 PASS bar() is "function() { }" 135 PASS bar() is "function() { }" 136 PASS bar() is "function() { }" 137 PASS bar() is "function() { }" 138 PASS bar() is "function() { }" 139 PASS bar() is "function() { }" 140 PASS bar() is "function() { }" 141 PASS bar() is "function() { }" 142 PASS bar() is "function() { }" 143 PASS bar() is "function() { }" 144 PASS bar() is "function() { }" 145 PASS bar() is "function() { }" 146 PASS bar() is "function() { }" 147 PASS bar() is "function() { }" 148 PASS bar() is "function() { }" 149 PASS bar() is "function() { }" 150 PASS bar() is "function() { }" 151 PASS bar() is "function() { }" 152 PASS bar() is "function() { }" 153 PASS bar() is "function() { }" 154 PASS bar() is "function() { }" 155 PASS bar() is "function() { }" 156 PASS bar() is "function() { }" 157 PASS bar() is "function() { }" 158 PASS bar() is "function() { }" 159 PASS bar() is "function() { }" 160 PASS bar() is "function() { }" 161 PASS bar() is "function() { }" 162 PASS bar() is "function() { }" 163 PASS bar() is "function() { }" 164 PASS bar() is "function() { }" 165 PASS bar() is "function() { }" 166 PASS bar() is "function() { }" 167 PASS bar() is "function() { }" 168 PASS bar() is "function() { }" 169 PASS bar() is "function() { }" 170 PASS bar() is "function() { }" 171 PASS bar() is "function() { }" 172 PASS bar() is "function() { }" 173 PASS bar() is "function() { }" 174 PASS bar() is "function() { }" 175 PASS bar() is "function() { }" 176 PASS bar() is "function() { }" 177 PASS bar() is "function() { }" 178 PASS bar() is "function() { }" 179 PASS bar() is "function() { }" 180 PASS bar() is "function() { }" 181 PASS bar() is "function() { }" 182 PASS bar() is "function() { }" 183 PASS bar() is "function() { }" 184 PASS bar() is "function() { }" 185 PASS bar() is "function() { }" 186 PASS bar() is "function() { }" 187 PASS bar() is "function() { }" 188 PASS bar() is "function() { }" 189 PASS bar() is "function() { }" 190 PASS bar() is "function() { }" 191 PASS bar() is "function() { }" 192 PASS bar() is "function() { }" 193 PASS bar() is "function() { }" 194 PASS bar() is "function() { }" 195 PASS bar() is "function() { }" 196 PASS bar() is "function() { }" 197 PASS bar() is "function() { }" 198 PASS bar() is "function() { }" 199 PASS bar() is "function() { }" 200 PASS bar() is "function() { }" 201 PASS bar() is "function() { }" 202 PASS bar() is "function() { }" 203 PASS bar() is "function() { }" 204 PASS bar() is "function() { }" 205 PASS bar() is "function() { }" 206 PASS bar() is "function() { }" 207 PASS bar() is "function() { }" 208 PASS bar() is "function() { }" 209 PASS bar() is "function() { }" 210 PASS bar() is "function() { }" 211 PASS bar() is "function() { }" 212 PASS bar() is "function() { }" 213 PASS bar() is "function() { }" 214 PASS bar() is "function() { }" 215 PASS bar() is "function() { }" 216 PASS bar() is "function() { }" 217 PASS bar() is "function() { }" 218 PASS bar() is "function() { }" 219 PASS bar() is "function() { }" 220 PASS bar() is "function() { }" 221 PASS bar() is "function() { }" 222 PASS bar() is "function() { }" 223 PASS bar() is "function() { }" 224 PASS bar() is "function() { }" 225 PASS bar() is "function() { }" 226 PASS bar() is "function() { }" 227 PASS bar() is "function() { }" 228 PASS bar() is "function() { }" 229 PASS bar() is "function() { }" 230 PASS bar() is "function() { }" 231 PASS bar() is "function() { }" 232 PASS bar() is "function() { }" 233 PASS bar() is "function() { }" 234 PASS bar() is "function() { }" 235 PASS bar() is "function() { }" 236 PASS bar() is "function() { }" 237 PASS bar() is "function() { }" 238 PASS bar() is "function() { }" 239 PASS bar() is "function() { }" 240 PASS bar() is "function() { }" 241 PASS bar() is "function() { }" 242 PASS bar() is "function() { }" 243 PASS bar() is "function() { }" 244 PASS bar() is "function() { }" 245 PASS bar() is "function() { }" 246 PASS bar() is "function() { }" 247 PASS bar() is "function() { }" 248 PASS bar() is "function() { }" 249 PASS bar() is "function() { }" 250 PASS bar() is "function() { }" 251 PASS bar() is "function() { }" 252 PASS bar() is "function() { }" 253 PASS bar() is "function() { }" 254 PASS bar() is "function() { }" 255 PASS bar() is "function() { }" 256 PASS bar() is "function() { }" 257 PASS bar() is "function() { }" 258 PASS bar() is "function() { }" 259 PASS bar() is "function() { }" 260 PASS bar() is "function() { }" 261 PASS bar() is "function() { }" 262 PASS bar() is "function() { }" 263 PASS bar() is "function() { }" 264 PASS bar() is "function() { }" 265 PASS bar() is "function() { }" 266 PASS bar() is "function() { }" 267 PASS bar() is "function() { }" 268 PASS bar() is "function() { }" 269 PASS bar() is "function() { }" 270 PASS bar() is "function() { }" 271 PASS bar() is "function() { }" 272 PASS bar() is "function() { }" 273 PASS bar() is "function() { }" 274 PASS bar() is "function() { }" 275 PASS bar() is "function() { }" 276 PASS bar() is "function() { }" 277 PASS bar() is "function() { }" 278 PASS bar() is "function() { }" 279 PASS bar() is "function() { }" 280 PASS bar() is "function() { }" 281 PASS bar() is "function() { }" 282 PASS bar() is "function() { }" 283 PASS bar() is "function() { }" 284 PASS bar() is "function() { }" 285 PASS bar() is "function() { }" 286 PASS bar() is "function() { }" 287 PASS bar() is "function() { }" 288 PASS bar() is "function() { }" 289 PASS bar() is "function() { }" 290 PASS bar() is "function() { }" 291 PASS bar() is "function() { }" 292 PASS bar() is "function() { }" 293 PASS bar() is "function() { }" 294 PASS bar() is "function() { }" 295 PASS bar() is "function() { }" 296 PASS bar() is "function() { }" 297 PASS bar() is "function() { }" 298 PASS bar() is "function() { }" 299 PASS bar() is "function() { }" 300 PASS bar() is "function() { }" 301 PASS bar() is "function() { }" 302 PASS bar() is "function() { }" 303 PASS bar() is "function() { }" 304 PASS bar() is "function() { }" 305 PASS bar() is "function() { }" 306 PASS bar() is "function() { }" 307 PASS bar() is "function() { }" 308 PASS bar() is "function() { }" 309 PASS bar() is "function() { }" 310 PASS bar() is "function() { }" 311 PASS bar() is "function() { }" 312 PASS bar() is "function() { }" 313 PASS bar() is "function() { }" 314 PASS bar() is "function() { }" 315 PASS bar() is "function() { }" 316 PASS bar() is "function() { }" 317 PASS bar() is "function() { }" 318 PASS bar() is "function() { }" 319 PASS bar() is "function() { }" 320 PASS bar() is "function() { }" 321 PASS bar() is "function() { }" 322 PASS bar() is "function() { }" 323 PASS bar() is "function() { }" 324 PASS bar() is "function() { }" 325 PASS bar() is "function() { }" 326 PASS bar() is "function() { }" 327 PASS bar() is "function() { }" 328 PASS bar() is "function() { }" 329 PASS bar() is "function() { }" 330 PASS bar() is "function() { }" 331 PASS bar() is "function() { }" 332 PASS bar() is "function() { }" 333 PASS bar() is "function() { }" 334 PASS bar() is "function() { }" 335 PASS bar() is "function() { }" 336 PASS bar() is "function() { }" 337 PASS bar() is "function() { }" 338 PASS bar() is "function() { }" 339 PASS bar() is "function() { }" 340 PASS bar() is "function() { }" 341 PASS bar() is "function() { }" 342 PASS bar() is "function() { }" 343 PASS bar() is "function() { }" 344 PASS bar() is "function() { }" 345 PASS bar() is "function() { }" 346 PASS bar() is "function() { }" 347 PASS bar() is "function() { }" 348 PASS bar() is "function() { }" 349 PASS bar() is "function() { }" 350 PASS bar() is "function() { }" 351 PASS bar() is "function() { }" 352 PASS bar() is "function() { }" 353 PASS bar() is "function() { }" 354 PASS bar() is "function() { }" 355 PASS bar() is "function() { }" 356 PASS bar() is "function() { }" 357 PASS bar() is "function() { }" 358 PASS bar() is "function() { }" 359 PASS bar() is "function() { }" 360 PASS bar() is "function() { }" 361 PASS bar() is "function() { }" 362 PASS bar() is "function() { }" 363 PASS bar() is "function() { }" 364 PASS bar() is "function() { }" 365 PASS bar() is "function() { }" 366 PASS bar() is "function() { }" 367 PASS bar() is "function() { }" 368 PASS bar() is "function() { }" 369 PASS bar() is "function() { }" 370 PASS bar() is "function() { }" 371 PASS bar() is "function() { }" 372 PASS bar() is "function() { }" 373 PASS bar() is "function() { }" 374 PASS bar() is "function() { }" 375 PASS bar() is "function() { }" 376 PASS bar() is "function() { }" 377 PASS bar() is "function() { }" 378 PASS bar() is "function() { }" 379 PASS bar() is "function() { }" 380 PASS bar() is "function() { }" 381 PASS bar() is "function() { }" 382 PASS bar() is "function() { }" 383 PASS bar() is "function() { }" 384 PASS bar() is "function() { }" 385 PASS bar() is "function() { }" 386 PASS bar() is "function() { }" 387 PASS bar() is "function() { }" 388 PASS bar() is "function() { }" 389 PASS bar() is "function() { }" 390 PASS bar() is "function() { }" 391 PASS bar() is "function() { }" 392 PASS bar() is "function() { }" 393 PASS bar() is "function() { }" 394 PASS bar() is "function() { }" 395 PASS bar() is "function() { }" 396 PASS bar() is "function() { }" 397 PASS bar() is "function() { }" 398 PASS bar() is "function() { }" 399 PASS bar() is "function() { }" 400 PASS bar() is "function() { }" 401 PASS bar() is "function() { }" 402 PASS bar() is "function() { }" 403 PASS bar() is "function() { }" 404 PASS bar() is "function() { }" 405 PASS bar() is "function() { }" 406 PASS bar() is "function() { }" 407 PASS bar() is "function() { }" 408 PASS bar() is "function() { }" 409 PASS bar() is "function() { }" 410 PASS bar() is "function() { }" 411 PASS bar() is "function() { }" 412 PASS bar() is "function() { }" 413 PASS bar() is "function() { }" 414 PASS bar() is "function() { }" 415 PASS bar() is "function() { }" 416 PASS bar() is "function() { }" 417 PASS bar() is "function() { }" 418 PASS bar() is "function() { }" 419 PASS bar() is "function() { }" 420 PASS bar() is "function() { }" 421 PASS bar() is "function() { }" 422 PASS bar() is "function() { }" 423 PASS bar() is "function() { }" 424 PASS bar() is "function() { }" 425 PASS bar() is "function() { }" 426 PASS bar() is "function() { }" 427 PASS bar() is "function() { }" 428 PASS bar() is "function() { }" 429 PASS bar() is "function() { }" 430 PASS bar() is "function() { }" 431 PASS bar() is "function() { }" 432 PASS bar() is "function() { }" 433 PASS bar() is "function() { }" 434 PASS bar() is "function() { }" 435 PASS bar() is "function() { }" 436 PASS bar() is "function() { }" 437 PASS bar() is "function() { }" 438 PASS bar() is "function() { }" 439 PASS bar() is "function() { }" 440 PASS bar() is "function() { }" 441 PASS bar() is "function() { }" 442 PASS bar() is "function() { }" 443 PASS bar() is "function() { }" 444 PASS bar() is "function() { }" 445 PASS bar() is "function() { }" 446 PASS bar() is "function() { }" 447 PASS bar() is "function() { }" 448 PASS bar() is "function() { }" 449 PASS bar() is "function() { }" 450 PASS bar() is "function() { }" 451 PASS bar() is "function() { }" 452 PASS bar() is "function() { }" 453 PASS bar() is "function() { }" 454 PASS bar() is "function() { }" 455 PASS bar() is "function() { }" 456 PASS bar() is "function() { }" 457 PASS bar() is "function() { }" 458 PASS bar() is "function() { }" 459 PASS bar() is "function() { }" 460 PASS bar() is "function() { }" 461 PASS bar() is "function() { }" 462 PASS bar() is "function() { }" 463 PASS bar() is "function() { }" 464 PASS bar() is "function() { }" 465 PASS bar() is "function() { }" 466 PASS bar() is "function() { }" 467 PASS bar() is "function() { }" 468 PASS bar() is "function() { }" 469 PASS bar() is "function() { }" 470 PASS bar() is "function() { }" 471 PASS bar() is "function() { }" 472 PASS bar() is "function() { }" 473 PASS bar() is "function() { }" 474 PASS bar() is "function() { }" 475 PASS bar() is "function() { }" 476 PASS bar() is "function() { }" 477 PASS bar() is "function() { }" 478 PASS bar() is "function() { }" 479 PASS bar() is "function() { }" 480 PASS bar() is "function() { }" 481 PASS bar() is "function() { }" 482 PASS bar() is "function() { }" 483 PASS bar() is "function() { }" 484 PASS bar() is "function() { }" 485 PASS bar() is "function() { }" 486 PASS bar() is "function() { }" 487 PASS bar() is "function() { }" 488 PASS bar() is "function() { }" 489 PASS bar() is "function() { }" 490 PASS bar() is "function() { }" 491 PASS bar() is "function() { }" 492 PASS bar() is "function() { }" 493 PASS bar() is "function() { }" 494 PASS bar() is "function() { }" 495 PASS bar() is "function() { }" 496 PASS bar() is "function() { }" 497 PASS bar() is "function() { }" 498 PASS bar() is "function() { }" 499 PASS bar() is "function() { }" 500 PASS bar() is "function() { }" 501 PASS bar() is "function() { }" 502 PASS bar() is "function() { }" 503 PASS bar() is "function() { }" 504 PASS bar() is "function() { }" 505 PASS bar() is "function() { }" 506 PASS bar() is "function() { }" 507 PASS bar() is "function() { }" 508 PASS bar() is "function() { }" 509 PASS bar() is "function() { }" 510 PASS bar() is "function() { }" 511 PASS bar() is "function() { }" 512 PASS bar() is "function() { }" 513 PASS bar() is "function() { }" 514 PASS bar() is "function() { }" 515 PASS bar() is "function() { }" 516 PASS bar() is "function() { }" 517 PASS bar() is "function() { }" 518 PASS bar() is "function() { }" 519 PASS bar() is "function() { }" 520 PASS bar() is "function() { }" 521 PASS bar() is "function() { }" 522 PASS bar() is "function() { }" 523 PASS bar() is "function() { }" 524 PASS bar() is "function() { }" 525 PASS bar() is "function() { }" 526 PASS bar() is "function() { }" 527 PASS bar() is "function() { }" 528 PASS bar() is "function() { }" 529 PASS bar() is "function() { }" 530 PASS bar() is "function() { }" 531 PASS bar() is "function() { }" 532 PASS bar() is "function() { }" 533 PASS bar() is "function() { }" 534 PASS bar() is "function() { }" 535 PASS bar() is "function() { }" 536 PASS bar() is "function() { }" 537 PASS bar() is "function() { }" 538 PASS bar() is "function() { }" 539 PASS bar() is "function() { }" 540 PASS bar() is "function() { }" 541 PASS bar() is "function() { }" 542 PASS bar() is "function() { }" 543 PASS bar() is "function() { }" 544 PASS bar() is "function() { }" 545 PASS bar() is "function() { }" 546 PASS bar() is "function() { }" 547 PASS bar() is "function() { }" 548 PASS bar() is "function() { }" 549 PASS bar() is "function() { }" 550 PASS bar() is "function() { }" 551 PASS bar() is "function() { }" 552 PASS bar() is "function() { }" 553 PASS bar() is "function() { }" 554 PASS bar() is "function() { }" 555 PASS bar() is "function() { }" 556 PASS bar() is "function() { }" 557 PASS bar() is "function() { }" 558 PASS bar() is "function() { }" 559 PASS bar() is "function() { }" 560 PASS bar() is "function() { }" 561 PASS bar() is "function() { }" 562 PASS bar() is "function() { }" 563 PASS bar() is "function() { }" 564 PASS bar() is "function() { }" 565 PASS bar() is "function() { }" 566 PASS bar() is "function() { }" 567 PASS bar() is "function() { }" 568 PASS bar() is "function() { }" 569 PASS bar() is "function() { }" 570 PASS bar() is "function() { }" 571 PASS bar() is "function() { }" 572 PASS bar() is "function() { }" 573 PASS bar() is "function() { }" 574 PASS bar() is "function() { }" 575 PASS bar() is "function() { }" 576 PASS bar() is "function() { }" 577 PASS bar() is "function() { }" 578 PASS bar() is "function() { }" 579 PASS bar() is "function() { }" 580 PASS bar() is "function() { }" 581 PASS bar() is "function() { }" 582 PASS bar() is "function() { }" 583 PASS bar() is "function() { }" 584 PASS bar() is "function() { }" 585 PASS bar() is "function() { }" 586 PASS bar() is "function() { }" 587 PASS bar() is "function() { }" 588 PASS bar() is "function() { }" 589 PASS bar() is "function() { }" 590 PASS bar() is "function() { }" 591 PASS bar() is "function() { }" 592 PASS bar() is "function() { }" 593 PASS bar() is "function() { }" 594 PASS bar() is "function() { }" 595 PASS bar() is "function() { }" 596 PASS bar() is "function() { }" 597 PASS bar() is "function() { }" 598 PASS bar() is "function() { }" 599 PASS bar() is "function() { }" 600 PASS bar() is "function() { }" 601 PASS bar() is "function() { }" 602 PASS bar() is "function() { }" 603 PASS bar() is "function() { }" 604 PASS bar() is "function() { }" 605 PASS bar() is "function() { }" 606 PASS bar() is "function() { }" 607 PASS bar() is "function() { }" 608 PASS bar() is "function() { }" 609 PASS bar() is "function() { }" 610 PASS bar() is "function() { }" 611 PASS bar() is "function() { }" 612 PASS bar() is "function() { }" 613 PASS bar() is "function() { }" 614 PASS bar() is "function() { }" 615 PASS bar() is "function() { }" 616 PASS bar() is "function() { }" 617 PASS bar() is "function() { }" 618 PASS bar() is "function() { }" 619 PASS bar() is "function() { }" 620 PASS bar() is "function() { }" 621 PASS bar() is "function() { }" 622 PASS bar() is "function() { }" 623 PASS bar() is "function() { }" 624 PASS bar() is "function() { }" 625 PASS bar() is "function() { }" 626 PASS bar() is "function() { }" 627 PASS bar() is "function() { }" 628 PASS bar() is "function() { }" 629 PASS bar() is "function() { }" 630 PASS bar() is "function() { }" 631 PASS bar() is "function() { }" 632 PASS bar() is "function() { }" 633 PASS bar() is "function() { }" 634 PASS bar() is "function() { }" 635 PASS bar() is "function() { }" 636 PASS bar() is "function() { }" 637 PASS bar() is "function() { }" 638 PASS bar() is "function() { }" 639 PASS bar() is "function() { }" 640 PASS bar() is "function() { }" 641 PASS bar() is "function() { }" 642 PASS bar() is "function() { }" 643 PASS bar() is "function() { }" 644 PASS bar() is "function() { }" 645 PASS bar() is "function() { }" 646 PASS bar() is "function() { }" 647 PASS bar() is "function() { }" 648 PASS bar() is "function() { }" 649 PASS bar() is "function() { }" 650 PASS bar() is "function() { }" 651 PASS bar() is "function() { }" 652 PASS bar() is "function() { }" 653 PASS bar() is "function() { }" 654 PASS bar() is "function() { }" 655 PASS bar() is "function() { }" 656 PASS bar() is "function() { }" 657 PASS bar() is "function() { }" 658 PASS bar() is "function() { }" 659 PASS bar() is "function() { }" 660 PASS bar() is "function() { }" 661 PASS bar() is "function() { }" 662 PASS bar() is "function() { }" 663 PASS bar() is "function() { }" 664 PASS bar() is "function() { }" 665 PASS bar() is "function() { }" 666 PASS bar() is "function() { }" 667 PASS bar() is "function() { }" 668 PASS bar() is "function() { }" 669 PASS bar() is "function() { }" 670 PASS bar() is "function() { }" 671 PASS bar() is "function() { }" 672 PASS bar() is "function() { }" 673 PASS bar() is "function() { }" 674 PASS bar() is "function() { }" 675 PASS bar() is "function() { }" 676 PASS bar() is "function() { }" 677 PASS bar() is "function() { }" 678 PASS bar() is "function() { }" 679 PASS bar() is "function() { }" 680 PASS bar() is "function() { }" 681 PASS bar() is "function() { }" 682 PASS bar() is "function() { }" 683 PASS bar() is "function() { }" 684 PASS bar() is "function() { }" 685 PASS bar() is "function() { }" 686 PASS bar() is "function() { }" 687 PASS bar() is "function() { }" 688 PASS bar() is "function() { }" 689 PASS bar() is "function() { }" 690 PASS bar() is "function() { }" 691 PASS bar() is "function() { }" 692 PASS bar() is "function() { }" 693 PASS bar() is "function() { }" 694 PASS bar() is "function() { }" 695 PASS bar() is "function() { }" 696 PASS bar() is "function() { }" 697 PASS bar() is "function() { }" 698 PASS bar() is "function() { }" 699 PASS bar() is "function() { }" 700 PASS bar() is "function() { }" 701 PASS bar() is "function() { }" 702 PASS bar() is "function() { }" 703 PASS bar() is "function() { }" 704 PASS bar() is "function() { }" 705 PASS bar() is "function() { }" 706 706 PASS bar() is "42" 707 707 PASS bar() is "42" -
trunk/LayoutTests/js/dom/function-prototype-expected.txt
r156066 r181810 4 4 5 5 6 PASS actual is 'function 6 PASS actual is 'function() { }' 7 7 PASS successfullyParsed is true 8 8 -
trunk/LayoutTests/js/dom/function-prototype.html
r162961 r181810 29 29 30 30 var actual = "" + MyClass.runTest(); 31 shouldBe("actual", "'function 31 shouldBe("actual", "'function() { }'"); 32 32 </script> 33 33 <script src="../../resources/js-test-post.js"></script> -
trunk/LayoutTests/js/dom/parse-error-external-script-in-new-Function-expected.txt
r158014 r181810 1 CONSOLE MESSAGE: line 3: SyntaxError: Unexpected identifier 'error'1 CONSOLE MESSAGE: line 4: SyntaxError: Unexpected identifier 'error' 2 2 This tests that a line number and error message is printed for a parse error in a separate source file using new Function(). -
trunk/LayoutTests/js/dom/script-start-end-locations-expected.txt
r181673 r181810 244 244 245 245 new Function Object: 246 function " " { 1:16 - 1:245}247 function "nf1a" { 1:77 - 1:236}248 function "nf1b" { 1:107 - 1:226}249 function "nf1c" { 1:137 - 1:216}250 eval { 1:1 - 1:56 } 251 function " " { 1:16 - 17:8 }252 function "nf2a" { 4:21 - 15:5 }253 function "nf2b" { 6:25 - 13:9 }254 function "nf2c" { 8:29 - 11:13 }255 eval { 1:1 - 1:56 } 256 function " " { 1:16 - 1:245}257 function "nf1a" { 1:77 - 1:236}258 function "nf1b" { 1:107 - 1:226}259 function "nf1c" { 1:137 - 1:216}260 eval { 1:1 - 1:56 } 261 function " " { 1:16 - 1:254}262 function "nfi1a" { 1:78 - 1:244}263 function "nfi1b" { 1:110 - 1:233}264 function "nfi1c" { 1:142 - 1:222}265 eval { 1:1 - 1:56 } 266 function " " { 1:16 - 17:8 }267 function "nf2a" { 4:21 - 15:5 }268 function "nf2b" { 6:25 - 13:9 }269 function "nf2c" { 8:29 - 11:13 }270 eval { 1:1 - 1:56 } 271 function " " { 1:16 - 17:9 }272 function "nfi2a" { 4:22 - 15:5 }273 function "nfi2b" { 6:26 - 13:9 }274 function "nfi2c" { 8:30 - 11:13 }246 function "anonymous" { 1:27 - 2:228 } 247 function "nf1a" { 2:60 - 2:219 } 248 function "nf1b" { 2:90 - 2:209 } 249 function "nf1c" { 2:120 - 2:199 } 250 eval { 1:1 - 1:56 } 251 function "anonymous" { 1:27 - 18:8 } 252 function "nf2a" { 5:21 - 16:5 } 253 function "nf2b" { 7:25 - 14:9 } 254 function "nf2c" { 9:29 - 12:13 } 255 eval { 1:1 - 1:56 } 256 function "anonymous" { 1:27 - 2:228 } 257 function "nf1a" { 2:60 - 2:219 } 258 function "nf1b" { 2:90 - 2:209 } 259 function "nf1c" { 2:120 - 2:199 } 260 eval { 1:1 - 1:56 } 261 function "anonymous" { 1:27 - 2:237 } 262 function "nfi1a" { 2:61 - 2:227 } 263 function "nfi1b" { 2:93 - 2:216 } 264 function "nfi1c" { 2:125 - 2:205 } 265 eval { 1:1 - 1:56 } 266 function "anonymous" { 1:27 - 18:8 } 267 function "nf2a" { 5:21 - 16:5 } 268 function "nf2b" { 7:25 - 14:9 } 269 function "nf2c" { 9:29 - 12:13 } 270 eval { 1:1 - 1:56 } 271 function "anonymous" { 1:27 - 18:9 } 272 function "nfi2a" { 5:22 - 16:5 } 273 function "nfi2b" { 7:26 - 14:9 } 274 function "nfi2c" { 9:30 - 12:13 } 275 275 eval { 1:1 - 1:56 } 276 276 -
trunk/LayoutTests/js/dom/script-tests/dfg-strcat-over-objects-then-exit-on-it.js
r156066 r181810 13 13 var x = function() { }; 14 14 15 var expected = "\"function 15 var expected = "\"function() { }\""; 16 16 var blah = this; 17 17 for (var i = 0; i < 1000; ++i) { -
trunk/LayoutTests/js/dom/toString-and-valueOf-override-expected.txt
r165640 r181810 16 16 String(span) : toString 17 17 String([span]) : toString 18 span.toString : function () { return "toString";}18 span.toString : function() { return "toString" } 19 19 span.toString() (cached in variable) : toString 20 20 span.toString() : toString … … 28 28 String(span) : valueOf 29 29 String([span]) : valueOf 30 span.toString : function 30 span.toString : function() { return new Object(); } 31 31 span.toString() (cached in variable) : [object Object] 32 32 span.toString() : [object Object] … … 40 40 String(span) : toString 41 41 String([span]) : toString 42 span.toString : function 42 span.toString : function() { return 'toString'; } 43 43 span.toString() (cached in variable) : toString 44 44 span.toString() : toString … … 52 52 TypeError: No default value 53 53 TypeError: No default value 54 span.toString : function 54 span.toString : function() { return new Object(); } 55 55 span.toString() (cached in variable) : [object Object] 56 56 span.toString() : [object Object] … … 64 64 Exception 65 65 Exception 66 span.toString : function 66 span.toString : function() { throw "Exception"; } 67 67 Exception 68 68 Exception … … 76 76 String(span) : toString 77 77 String([span]) : toString 78 span.toString : function 78 span.toString : function() { return 'toString'; } 79 79 span.toString() (cached in variable) : toString 80 80 span.toString() : toString … … 88 88 Exception 89 89 Exception 90 span.toString : function 90 span.toString : function() { throw "Exception"; } 91 91 Exception 92 92 Exception … … 113 113 String(window) : toString 114 114 String([window]) : toString 115 window.toString : function () { return "toString";}115 window.toString : function() { return "toString" } 116 116 window.toString() (cached in variable) : toString 117 117 window.toString() : toString … … 125 125 String(window) : valueOf 126 126 String([window]) : valueOf 127 window.toString : function 127 window.toString : function() { return new Object(); } 128 128 window.toString() (cached in variable) : [object Object] 129 129 window.toString() : [object Object] … … 137 137 String(window) : toString 138 138 String([window]) : toString 139 window.toString : function 139 window.toString : function() { return 'toString'; } 140 140 window.toString() (cached in variable) : toString 141 141 window.toString() : toString … … 149 149 TypeError: No default value 150 150 TypeError: No default value 151 window.toString : function 151 window.toString : function() { return new Object(); } 152 152 window.toString() (cached in variable) : [object Object] 153 153 window.toString() : [object Object] … … 161 161 Exception 162 162 Exception 163 window.toString : function 163 window.toString : function() { throw "Exception"; } 164 164 Exception 165 165 Exception … … 173 173 String(window) : toString 174 174 String([window]) : toString 175 window.toString : function 175 window.toString : function() { return 'toString'; } 176 176 window.toString() (cached in variable) : toString 177 177 window.toString() : toString … … 185 185 Exception 186 186 Exception 187 window.toString : function 187 window.toString : function() { throw "Exception"; } 188 188 Exception 189 189 Exception … … 210 210 String(Navigator) : toString 211 211 String([Navigator]) : toString 212 Navigator.toString : function () { return "toString";}212 Navigator.toString : function() { return "toString" } 213 213 Navigator.toString() (cached in variable) : toString 214 214 Navigator.toString() : toString … … 222 222 String(Navigator) : valueOf 223 223 String([Navigator]) : valueOf 224 Navigator.toString : function 224 Navigator.toString : function() { return new Object(); } 225 225 Navigator.toString() (cached in variable) : [object Object] 226 226 Navigator.toString() : [object Object] … … 234 234 String(Navigator) : toString 235 235 String([Navigator]) : toString 236 Navigator.toString : function 236 Navigator.toString : function() { return 'toString'; } 237 237 Navigator.toString() (cached in variable) : toString 238 238 Navigator.toString() : toString … … 246 246 TypeError: No default value 247 247 TypeError: No default value 248 Navigator.toString : function 248 Navigator.toString : function() { return new Object(); } 249 249 Navigator.toString() (cached in variable) : [object Object] 250 250 Navigator.toString() : [object Object] … … 258 258 Exception 259 259 Exception 260 Navigator.toString : function 260 Navigator.toString : function() { throw "Exception"; } 261 261 Exception 262 262 Exception … … 270 270 String(Navigator) : toString 271 271 String([Navigator]) : toString 272 Navigator.toString : function 272 Navigator.toString : function() { return 'toString'; } 273 273 Navigator.toString() (cached in variable) : toString 274 274 Navigator.toString() : toString … … 282 282 Exception 283 283 Exception 284 Navigator.toString : function 284 Navigator.toString : function() { throw "Exception"; } 285 285 Exception 286 286 Exception … … 307 307 String(History) : toString 308 308 String([History]) : toString 309 History.toString : function () { return "toString";}309 History.toString : function() { return "toString" } 310 310 History.toString() (cached in variable) : toString 311 311 History.toString() : toString … … 319 319 String(History) : valueOf 320 320 String([History]) : valueOf 321 History.toString : function 321 History.toString : function() { return new Object(); } 322 322 History.toString() (cached in variable) : [object Object] 323 323 History.toString() : [object Object] … … 331 331 String(History) : toString 332 332 String([History]) : toString 333 History.toString : function 333 History.toString : function() { return 'toString'; } 334 334 History.toString() (cached in variable) : toString 335 335 History.toString() : toString … … 343 343 TypeError: No default value 344 344 TypeError: No default value 345 History.toString : function 345 History.toString : function() { return new Object(); } 346 346 History.toString() (cached in variable) : [object Object] 347 347 History.toString() : [object Object] … … 355 355 Exception 356 356 Exception 357 History.toString : function 357 History.toString : function() { throw "Exception"; } 358 358 Exception 359 359 Exception … … 367 367 String(History) : toString 368 368 String([History]) : toString 369 History.toString : function 369 History.toString : function() { return 'toString'; } 370 370 History.toString() (cached in variable) : toString 371 371 History.toString() : toString … … 379 379 Exception 380 380 Exception 381 History.toString : function 381 History.toString : function() { throw "Exception"; } 382 382 Exception 383 383 Exception … … 404 404 String(Selection) : toString 405 405 String([Selection]) : toString 406 Selection.toString : function () { return "toString";}406 Selection.toString : function() { return "toString" } 407 407 Selection.toString() (cached in variable) : toString 408 408 Selection.toString() : toString … … 416 416 String(Selection) : valueOf 417 417 String([Selection]) : valueOf 418 Selection.toString : function 418 Selection.toString : function() { return new Object(); } 419 419 Selection.toString() (cached in variable) : [object Object] 420 420 Selection.toString() : [object Object] … … 428 428 String(Selection) : toString 429 429 String([Selection]) : toString 430 Selection.toString : function 430 Selection.toString : function() { return 'toString'; } 431 431 Selection.toString() (cached in variable) : toString 432 432 Selection.toString() : toString … … 440 440 TypeError: No default value 441 441 TypeError: No default value 442 Selection.toString : function 442 Selection.toString : function() { return new Object(); } 443 443 Selection.toString() (cached in variable) : [object Object] 444 444 Selection.toString() : [object Object] … … 452 452 Exception 453 453 Exception 454 Selection.toString : function 454 Selection.toString : function() { throw "Exception"; } 455 455 Exception 456 456 Exception … … 464 464 String(Selection) : toString 465 465 String([Selection]) : toString 466 Selection.toString : function 466 Selection.toString : function() { return 'toString'; } 467 467 Selection.toString() (cached in variable) : toString 468 468 Selection.toString() : toString … … 476 476 Exception 477 477 Exception 478 Selection.toString : function 479 Exception 480 Exception 481 Exception 482 Exception 483 Exception 484 485 486 478 Selection.toString : function() { throw "Exception"; } 479 Exception 480 Exception 481 Exception 482 Exception 483 Exception 484 485 486 -
trunk/LayoutTests/js/kde/lval-exceptions-expected.txt
r33979 r181810 4 4 5 5 6 PASS function 7 PASS function 8 PASS function 9 PASS function 10 PASS function 6 PASS function() { a = x; } threw exception ReferenceError: Can't find variable: x. 7 PASS function() { x += "foo"; } threw exception ReferenceError: Can't find variable: x. 8 PASS function() { b = a.x; } did not throw an exception 9 PASS function() { b = a['x']; } did not throw an exception 10 PASS function() { a['x'] += 'baz'; } did not throw an exception 11 11 PASS a['x'] is "undefinedbaz" 12 PASS function 13 PASS function 12 PASS function() { b = a.y; } did not throw an exception 13 PASS function() { a.y += 'glarch'; } did not throw an exception 14 14 PASS a['y'] is "undefinedglarch" 15 15 PASS successfullyParsed is true -
trunk/LayoutTests/js/object-literal-computed-methods-expected.txt
r181183 r181810 9 9 PASS o.foo.length is 0 10 10 PASS o.foo.name is '' 11 PASS o.foo.toString() is 'function () { return 10; }' 11 FAIL o.foo.toString() should be function () { return 10; }. Was () { return 10; }. 12 12 PASS Object.getOwnPropertyDescriptor(o, 'foo').value is o.foo 13 13 PASS Object.getOwnPropertyDescriptor(o, 'foo').enumerable is true … … 19 19 PASS o.add.length is 2 20 20 PASS o.add.name is '' 21 PASS o.add.toString() is 'function (x, y) { return x + y; }' 21 FAIL o.add.toString() should be function (x, y) { return x + y; }. Was (x, y) { return x + y; }. 22 22 PASS o = { [ (function() { return 'method'; })() ](x, y) { return x + y; } }; did not throw exception. 23 23 PASS o.method(142, -10) is 132 -
trunk/LayoutTests/js/object-literal-methods-expected.txt
r181183 r181810 9 9 PASS o.foo.length is 0 10 10 PASS o.foo.name is 'foo' 11 PASS o.foo.toString() is 'function foo() { return 10; }' 11 FAIL o.foo.toString() should be function foo() { return 10; }. Was () { return 10; }. 12 12 PASS Object.getOwnPropertyDescriptor(o, 'foo').value is o.foo 13 13 PASS Object.getOwnPropertyDescriptor(o, 'foo').enumerable is true … … 19 19 PASS o.add.length is 2 20 20 PASS o.add.name is 'add' 21 PASS o.add.toString() is 'function add(x, y) { return x + y; }' 21 FAIL o.add.toString() should be function add(x, y) { return x + y; }. Was (x, y) { return x + y; }. 22 22 PASS o = { 'add'(a, b, c) { return a + b + c; } }; did not throw exception. 23 23 PASS o.add(1, 2, 3) is 6 -
trunk/LayoutTests/js/script-tests/dfg-redundant-load-of-captured-variable-proven-constant.js
r129948 r181810 19 19 var expected; 20 20 if (i % 2) 21 expected = "\"function 21 expected = "\"function() { return x; }\""; 22 22 else 23 expected = "\"function () { return 32; },function() { return 32; }\"";23 expected = "\"function() { return 32; },function() { return 32; }\""; 24 24 shouldBe("\"\" + foo(o, i % 2)", expected); 25 25 } -
trunk/LayoutTests/js/script-tests/dfg-resolve-global-specific-dictionary.js
r123394 r181810 9 9 x = function() { }; 10 10 11 var expected = "\"function 11 var expected = "\"function() { }\""; 12 12 13 13 for (var i = 0; i < 1000; ++i) { -
trunk/LayoutTests/platform/mac/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt
r177780 r181810 5 5 PASS Test setting SourceBuffer.mode while still updating 6 6 PASS Test setting SourceBuffer.mode triggers parent MediaSource 'ended' to 'open' transition. 7 FAIL Test setting SourceBuffer.mode and SourceBuffer.timestampOffset while parsing media segment. assert_throws: Setting valid sourceBuffer.mode while still parsing media segment threw InvalidStateError. function "function 7 FAIL Test setting SourceBuffer.mode and SourceBuffer.timestampOffset while parsing media segment. assert_throws: Setting valid sourceBuffer.mode while still parsing media segment threw InvalidStateError. function "function() { sourceBuffer.mode = 'segments'; }" did not throw(stack: assert@http://127.0.0.1:8000/w3c/resources/testharness.js:2061:73 8 8 assert_throws@http://127.0.0.1:8000/w3c/resources/testharness.js:947:19 9 9 http://127.0.0.1:8000/media/media-source/mediasource-sourcebuffer-mode.html:114:32 -
trunk/LayoutTests/storage/domstorage/localstorage/string-conversion-expected.txt
r44289 r181810 4 4 Type/value for null is string/null 5 5 Type/value for 0 is string/0 6 Type/value for function(){} is string/function (){}6 Type/value for function(){} is string/function(){} 7 7 Testing explicit setters 8 8 Type/value for null is string/null 9 9 Type/value for 0 is string/0 10 Type/value for function(){} is string/function (){}10 Type/value for function(){} is string/function(){} 11 11 Testing index setters 12 12 Type/value for null is string/null 13 13 Type/value for 0 is string/0 14 Type/value for function(){} is string/function (){}14 Type/value for function(){} is string/function(){} 15 15 -
trunk/LayoutTests/storage/domstorage/sessionstorage/string-conversion-expected.txt
r44289 r181810 4 4 Type/value for null is string/null 5 5 Type/value for 0 is string/0 6 Type/value for function(){} is string/function (){}6 Type/value for function(){} is string/function(){} 7 7 Testing explicit setters 8 8 Type/value for null is string/null 9 9 Type/value for 0 is string/0 10 Type/value for function(){} is string/function (){}10 Type/value for function(){} is string/function(){} 11 11 Testing index setters 12 12 Type/value for null is string/null 13 13 Type/value for 0 is string/0 14 Type/value for function(){} is string/function (){}14 Type/value for function(){} is string/function(){} 15 15 -
trunk/LayoutTests/userscripts/window-onerror-for-isolated-world-1-expected.txt
r94070 r181810 3 3 Main world window.onerror: Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:55 4 4 Main world error event listener: Error: Error in main world inline script. at window-onerror-for-isolated-world-1.html:55 5 Main world window.onerror: Error: Error in user script inline script. at undefined:1 16 Main world error event listener: Error: Error in user script inline script. at undefined:1 15 Main world window.onerror: Error: Error in user script inline script. at undefined:12 6 Main world error event listener: Error: Error in user script inline script. at undefined:12 7 7 Main world window.onerror: Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:51 8 8 Main world error event listener: Error: Error in main world load handler. at window-onerror-for-isolated-world-1.html:51 9 Main world window.onerror: Error: Error in user script load handler. at undefined: 710 Main world error event listener: Error: Error in user script load handler. at undefined: 79 Main world window.onerror: Error: Error in user script load handler. at undefined:8 10 Main world error event listener: Error: Error in user script load handler. at undefined:8 11 11 Main world window.onerror: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:49 12 12 Main world error event listener: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-1.html:49 13 Main world window.onerror: Error: Error in user script setTimeout callback. at undefined: 514 Main world error event listener: Error: Error in user script setTimeout callback. at undefined: 513 Main world window.onerror: Error: Error in user script setTimeout callback. at undefined:6 14 Main world error event listener: Error: Error in user script setTimeout callback. at undefined:6 -
trunk/LayoutTests/userscripts/window-onerror-for-isolated-world-2-expected.txt
r76336 r181810 2 2 Test that window.onerror and "error" event listeners from isolated world are invoked for uncaught exceptions in user scripts running in isolate worlds as well as for exceptions in the main world.Bug 8519. 3 3 4 user script window.onerror: Error: Error in user script inline script. at undefined:3 15 user script error event listener: Error: Error in user script inline script. at undefined:3 14 user script window.onerror: Error: Error in user script inline script. at undefined:33 5 user script error event listener: Error: Error in user script inline script. at undefined:33 6 6 user script window.onerror: Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:27 7 7 user script error event listener: Error: Error in main world load handler. at window-onerror-for-isolated-world-2.html:27 8 user script window.onerror: Error: Error in user script load handler. at undefined: 289 user script error event listener: Error: Error in user script load handler. at undefined: 288 user script window.onerror: Error: Error in user script load handler. at undefined:30 9 user script error event listener: Error: Error in user script load handler. at undefined:30 10 10 user script window.onerror: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:25 11 11 user script error event listener: Error: Error in main world setTimeout callback. at window-onerror-for-isolated-world-2.html:25 12 user script window.onerror: Error: Error in user script setTimeout callback. at undefined:2 613 user script error event listener: Error: Error in user script setTimeout callback. at undefined:2 612 user script window.onerror: Error: Error in user script setTimeout callback. at undefined:28 13 user script error event listener: Error: Error in user script setTimeout callback. at undefined:28 -
trunk/Source/JavaScriptCore/API/tests/testapi.c
r181806 r181810 85 85 char* jsBuffer = (char*)malloc(jsSize); 86 86 JSStringGetUTF8CString(valueAsString, jsBuffer, jsSize); 87 87 88 88 unsigned i; 89 89 for (i = 0; jsBuffer[i]; i++) { 90 90 if (jsBuffer[i] != expectedValue[i]) { 91 91 fprintf(stderr, "assertEqualsAsUTF8String failed at character %d: %c(%d) != %c(%d)\n", i, jsBuffer[i], jsBuffer[i], expectedValue[i], expectedValue[i]); 92 fprintf(stderr, "value: %s\n", jsBuffer); 93 fprintf(stderr, "expectedValue: %s\n", expectedValue); 92 94 failed = 1; 93 95 } … … 1591 1593 ASSERT(JSValueIsObject(context, exception)); 1592 1594 v = JSObjectGetProperty(context, JSValueToObject(context, exception, NULL), line, NULL); 1593 assertEqualsAsNumber(v, 1);1595 assertEqualsAsNumber(v, 2); 1594 1596 JSStringRelease(functionBody); 1595 1597 JSStringRelease(line); … … 1601 1603 ASSERT(JSValueIsObject(context, exception)); 1602 1604 v = JSObjectGetProperty(context, JSValueToObject(context, exception, NULL), line, NULL); 1603 assertEqualsAsNumber(v, 1);1605 assertEqualsAsNumber(v, 2); 1604 1606 JSStringRelease(functionBody); 1605 1607 JSStringRelease(line); … … 1611 1613 ASSERT(JSValueIsObject(context, exception)); 1612 1614 v = JSObjectGetProperty(context, JSValueToObject(context, exception, NULL), line, NULL); 1613 assertEqualsAsNumber(v, 2);1615 assertEqualsAsNumber(v, 3); 1614 1616 JSStringRelease(functionBody); 1615 1617 JSStringRelease(line); … … 1645 1647 1646 1648 string = JSValueToStringCopy(context, function, NULL); 1647 assertEqualsAsUTF8String(JSValueMakeString(context, string), "function foo(foo) { 1649 assertEqualsAsUTF8String(JSValueMakeString(context, string), "function foo(foo) {\nreturn foo;\n}"); 1648 1650 JSStringRelease(string); 1649 1651 -
trunk/Source/JavaScriptCore/ChangeLog
r181807 r181810 1 2015-03-18 Geoffrey Garen <ggaren@apple.com> 2 3 Function.prototype.toString should not decompile the AST 4 https://bugs.webkit.org/show_bug.cgi?id=142853 5 6 Reviewed by Sam Weinig. 7 8 To recover the function parameter string, Function.prototype.toString 9 decompiles the function parameters from the AST. This is bad for a few 10 reasons: 11 12 (1) It requires us to keep pieces of the AST live forever. This is an 13 awkward design and a waste of memory. 14 15 (2) It doesn't match Firefox or Chrome (because it changes whitespace 16 and ES6 destructuring expressions). 17 18 (3) It doesn't scale to ES6 default argument parameters, which require 19 arbitrarily complex decompilation. 20 21 (4) It can counterfeit all the line numbers in a function (because 22 whitespace can include newlines). 23 24 (5) It's expensive, and we've seen cases where websites invoke 25 Function.prototype.toString a lot by accident. 26 27 The fix is to do what we do for the rest of the function: Just quote the 28 original source text. 29 30 Since this change inevitably changes some function stringification, I 31 took the opportunity to make our stringification match Firefox's and 32 Chrome's. 33 34 * API/tests/testapi.c: 35 (assertEqualsAsUTF8String): Be more informative when this fails. 36 37 (main): Updated to match new stringification rules. 38 39 * bytecode/UnlinkedCodeBlock.cpp: 40 (JSC::UnlinkedFunctionExecutable::paramString): Deleted. Yay! 41 * bytecode/UnlinkedCodeBlock.h: 42 43 * parser/Nodes.h: 44 (JSC::StatementNode::isFuncDeclNode): New helper for constructing 45 anonymous functions. 46 47 * parser/SourceCode.h: 48 (JSC::SourceCode::SourceCode): Allow zero because WebCore wants it. 49 50 * runtime/CodeCache.cpp: 51 (JSC::CodeCache::getFunctionExecutableFromGlobalCode): Updated for use 52 of function declaration over function expression. 53 54 * runtime/Executable.cpp: 55 (JSC::FunctionExecutable::paramString): Deleted. Yay! 56 * runtime/Executable.h: 57 (JSC::FunctionExecutable::parameterCount): 58 59 * runtime/FunctionConstructor.cpp: 60 (JSC::constructFunctionSkippingEvalEnabledCheck): Added a newline after 61 the opening brace to match Firefox and Chrome, and a space after the comma 62 to match Firefox and WebKit coding style. Added the function name to 63 the text of the function so it would look right when stringify-ing. Switched 64 from parentheses to braces to produce a function declaration instead of 65 a function expression because we are required to exclude the function's 66 name from its scope, and that's what a function declaration does. 67 68 * runtime/FunctionPrototype.cpp: 69 (JSC::functionProtoFuncToString): Removed an old workaround because the 70 library it worked around doesn't really exist anymore, and the behavior 71 doesn't match Firefox or Chrome. Use type profiling offsets instead of 72 function body offsets because we want to include the function name and 73 the parameter string, rather than stitching them in manually by 74 decompiling the AST. 75 76 (JSC::insertSemicolonIfNeeded): Deleted. 77 78 * tests/mozilla/js1_2/function/tostring-1.js: 79 * tests/mozilla/js1_5/Scope/regress-185485.js: 80 (with.g): Updated these test results for formatting changes. 81 1 82 2015-03-20 Joseph Pecoraro <pecoraro@apple.com> 2 83 -
trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp
r181673 r181810 199 199 } 200 200 return result; 201 }202 203 String UnlinkedFunctionExecutable::paramString() const204 {205 FunctionParameters& parameters = *m_parameters;206 StringBuilder builder;207 for (size_t pos = 0; pos < parameters.size(); ++pos) {208 if (!builder.isEmpty())209 builder.appendLiteral(", ");210 parameters.at(pos)->toString(builder);211 }212 return builder.toString();213 201 } 214 202 -
trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h
r181673 r181810 132 132 unsigned typeProfilingEndOffset() const { return m_typeProfilingEndOffset; } 133 133 134 String paramString() const;135 136 134 UnlinkedFunctionCodeBlock* codeBlockFor( 137 135 VM&, const SourceCode&, CodeSpecializationKind, DebuggerMode, ProfilerMode, -
trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
r181611 r181810 1853 1853 } 1854 1854 1855 inlineStatementNode* BlockNode::singleStatement() const1855 StatementNode* BlockNode::singleStatement() const 1856 1856 { 1857 1857 return m_statements ? m_statements->singleStatement() : 0; -
trunk/Source/JavaScriptCore/parser/Nodes.h
r181490 r181810 197 197 virtual bool isContinue() const { return false; } 198 198 virtual bool isBlock() const { return false; } 199 virtual bool isFuncDeclNode() const { return false; } 199 200 200 201 protected: … … 1770 1771 FuncDeclNode(const JSTokenLocation&, const Identifier&, FunctionBodyNode*, const SourceCode&, ParameterNode* = 0); 1771 1772 1773 virtual bool isFuncDeclNode() const override { return true; } 1772 1774 FunctionBodyNode* body() { return m_body; } 1773 1775 -
trunk/Source/JavaScriptCore/parser/SourceCode.h
r168107 r181810 64 64 , m_startChar(0) 65 65 , m_endChar(m_provider->source().length()) 66 , m_firstLine(std::max(firstLine, 1))67 , m_startColumn(std::max(startColumn, 1))66 , m_firstLine(std::max(firstLine, 0)) 67 , m_startColumn(std::max(startColumn, 0)) 68 68 { 69 69 } … … 73 73 , m_startChar(start) 74 74 , m_endChar(end) 75 , m_firstLine(std::max(firstLine, 1))76 , m_startColumn(std::max(startColumn, 1))75 , m_firstLine(std::max(firstLine, 0)) 76 , m_startColumn(std::max(startColumn, 0)) 77 77 { 78 78 } -
trunk/Source/JavaScriptCore/runtime/CodeCache.cpp
r181664 r181810 131 131 } 132 132 133 // FIXME: There's no need to add the function's name to the key here. It's already in the source code. 133 134 UnlinkedFunctionExecutable* CodeCache::getFunctionExecutableFromGlobalCode(VM& vm, const Identifier& name, const SourceCode& source, ParserError& error) 134 135 { … … 151 152 } 152 153 153 // This function assumes an input string that would result in a single anonymous function expression. 154 StatementNode* exprStatement = program->singleStatement(); 155 RELEASE_ASSERT(exprStatement); 156 RELEASE_ASSERT(exprStatement->isExprStatement()); 157 ExpressionNode* funcExpr = static_cast<ExprStatementNode*>(exprStatement)->expr(); 158 RELEASE_ASSERT(funcExpr); 159 RELEASE_ASSERT(funcExpr->isFuncExprNode()); 160 FunctionBodyNode* body = static_cast<FuncExprNode*>(funcExpr)->body(); 161 RELEASE_ASSERT(!program->hasCapturedVariables()); 154 // This function assumes an input string that would result in a single function declaration. 155 StatementNode* statement = program->singleStatement(); 156 ASSERT(statement); 157 ASSERT(statement->isBlock()); 158 if (!statement || !statement->isBlock()) 159 return nullptr; 160 161 StatementNode* funcDecl = static_cast<BlockNode*>(statement)->singleStatement(); 162 ASSERT(funcDecl); 163 ASSERT(funcDecl->isFuncDeclNode()); 164 if (!funcDecl || !funcDecl->isFuncDeclNode()) 165 return nullptr; 166 167 FunctionBodyNode* body = static_cast<FuncDeclNode*>(funcDecl)->body(); 168 ASSERT(body); 169 if (!body) 170 return nullptr; 162 171 163 172 body->setEndPosition(positionBeforeLastNewline); 164 RELEASE_ASSERT(body);165 RELEASE_ASSERT(body->ident().isNull());166 167 173 UnlinkedFunctionExecutable* functionExecutable = UnlinkedFunctionExecutable::create(&vm, source, body, UnlinkedNormalFunction); 168 174 functionExecutable->m_nameValue.set(vm, functionExecutable, jsString(&vm, name.string())); -
trunk/Source/JavaScriptCore/runtime/Executable.cpp
r181673 r181810 616 616 } 617 617 618 String FunctionExecutable::paramString() const619 {620 return m_unlinkedExecutable->paramString();621 }622 623 618 void ExecutableBase::dump(PrintStream& out) const 624 619 { -
trunk/Source/JavaScriptCore/runtime/Executable.h
r181673 r181810 626 626 JSString* nameValue() const { return m_unlinkedExecutable->nameValue(); } 627 627 size_t parameterCount() const { return m_unlinkedExecutable->parameterCount(); } // Excluding 'this'! 628 String paramString() const;629 628 SymbolTable* symbolTable(CodeSpecializationKind); 630 629 -
trunk/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
r181673 r181810 89 89 JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args, const Identifier& functionName, const String& sourceURL, const TextPosition& position) 90 90 { 91 // Functions need to have a space following the opening { due to for web compatibility 92 // see https://bugs.webkit.org/show_bug.cgi?id=24350 93 // We also need \n before the closing } to handle // comments at the end of the last line 91 // How we stringify functions is sometimes important for web compatibility. 92 // See https://bugs.webkit.org/show_bug.cgi?id=24350. 94 93 String program; 95 94 if (args.isEmpty()) 96 program = ASCIILiteral("(function() { \n})");95 program = makeString("{function ", functionName.string(), "() {\n\n}}"); 97 96 else if (args.size() == 1) 98 program = makeString(" (function() { ", args.at(0).toString(exec)->value(exec), "\n})");97 program = makeString("{function ", functionName.string(), "() {\n", args.at(0).toString(exec)->value(exec), "\n}}"); 99 98 else { 100 99 StringBuilder builder; 101 builder.appendLiteral("(function("); 100 builder.appendLiteral("{function "); 101 builder.append(functionName.string()); 102 builder.append("("); 102 103 builder.append(args.at(0).toString(exec)->value(exec)); 103 104 for (size_t i = 1; i < args.size() - 1; i++) { 104 builder.append( ',');105 builder.append(", "); 105 106 builder.append(args.at(i).toString(exec)->value(exec)); 106 107 } 107 builder.appendLiteral(") { 108 builder.appendLiteral(") {\n"); 108 109 builder.append(args.at(args.size() - 1).toString(exec)->value(exec)); 109 builder.appendLiteral("\n} )");110 builder.appendLiteral("\n}}"); 110 111 program = builder.toString(); 111 112 } -
trunk/Source/JavaScriptCore/runtime/FunctionPrototype.cpp
r181673 r181810 80 80 } 81 81 82 // Functions83 84 // Compatibility hack for the Optimost JavaScript library. (See <rdar://problem/6595040>.)85 static inline void insertSemicolonIfNeeded(String& functionBody)86 {87 ASSERT(functionBody[0] == '{');88 ASSERT(functionBody[functionBody.length() - 1] == '}');89 90 for (size_t i = functionBody.length() - 2; i > 0; --i) {91 UChar ch = functionBody[i];92 if (!Lexer<UChar>::isWhiteSpace(ch) && !Lexer<UChar>::isLineTerminator(ch)) {93 if (ch != ';' && ch != '}')94 functionBody = makeString(functionBody.substringSharingImpl(0, i + 1), ';', functionBody.substringSharingImpl(i + 1, functionBody.length() - (i + 1)));95 return;96 }97 }98 }99 100 82 EncodedJSValue JSC_HOST_CALL functionProtoFuncToString(ExecState* exec) 101 83 { … … 105 87 if (function->isHostOrBuiltinFunction()) 106 88 return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "() {\n [native code]\n}")); 89 107 90 FunctionExecutable* executable = function->jsExecutable(); 108 String sourceString = executable->source().toString(); 109 insertSemicolonIfNeeded(sourceString); 110 return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "(", executable->paramString(), ") ", sourceString)); 91 String source = executable->source().provider()->getRange( 92 executable->typeProfilingStartOffset(), 93 executable->typeProfilingEndOffset() + 1); // Type profiling end offset is the character before the '}'. 94 return JSValue::encode(jsMakeNontrivialString(exec, source)); 111 95 } 112 96 -
trunk/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-1.js
r127797 r181810 66 66 t5 = new TestFunction( "anonymous", "", tab+"return \"hello!\";" ); 67 67 68 var f = new Function( "return \"hello!\" ");68 var f = new Function( "return \"hello!\";"); 69 69 70 70 testcases[tc++] = new TestCase( SECTION, -
trunk/Source/JavaScriptCore/tests/mozilla/js1_5/Scope/regress-185485.js
r11995 r181810 120 120 with (x) 121 121 { 122 var g = function () {}122 var g = function () {} 123 123 } 124 124 status = inSection(5); -
trunk/Source/WebCore/ChangeLog
r181808 r181810 1 2015-03-19 Geoffrey Garen <ggaren@apple.com> 2 3 Function.prototype.toString should not decompile the AST 4 https://bugs.webkit.org/show_bug.cgi?id=142853 5 6 Reviewed by Sam Weinig. 7 8 * bindings/js/JSLazyEventListener.cpp: 9 (WebCore::JSLazyEventListener::initializeJSFunction): Adjust the line 10 number of attribute event listeners to account for the leading newline 11 now added by JavaScriptCore. 12 13 This solution is not perfect, but there are a lot of pre-existing problems 14 with line and column reporting for attribute event listeners, and this 15 preserves existing behavior with reasonable reliability. 16 1 17 2015-03-20 Alex Christensen <achristensen@webkit.org> 2 18 -
trunk/Source/WebCore/bindings/js/JSLazyEventListener.cpp
r174225 r181810 104 104 args.append(jsStringWithCache(exec, m_code)); 105 105 106 JSObject* jsFunction = constructFunctionSkippingEvalEnabledCheck(exec, exec->lexicalGlobalObject(), args, Identifier(exec, m_functionName), m_sourceURL, m_position); // FIXME: is globalExec ok? 106 // Move our text position backward one line. Creating an anonymous function 107 // will add a line for a function declaration, but we want our line number 108 // to match up with where the attribute was declared. 109 TextPosition position( 110 OrdinalNumber::fromOneBasedInt( 111 m_position.m_line.oneBasedInt() - 1), m_position.m_column); 112 JSObject* jsFunction = constructFunctionSkippingEvalEnabledCheck( 113 exec, exec->lexicalGlobalObject(), args, Identifier(exec, m_functionName), 114 m_sourceURL, position); 115 107 116 if (exec->hadException()) { 108 117 reportCurrentException(exec);
Note:
See TracChangeset
for help on using the changeset viewer.