Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Side by Side Diff: test/webkit/fast/js/JSON-parse-reviver-expected.txt

Issue 1506933003: JSON.parse: properly deal with reviver result (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/webkit/fast/js/JSON-parse-reviver.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2013 the V8 project authors. All rights reserved. 1 # Copyright 2013 the V8 project authors. All rights reserved.
2 # Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 # Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 # 3 #
4 # Redistribution and use in source and binary forms, with or without 4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions 5 # modification, are permitted provided that the following conditions
6 # are met: 6 # are met:
7 # 1. Redistributions of source code must retain the above copyright 7 # 1. Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # 2. Redistributions in binary form must reproduce the above copyright 9 # 2. Redistributions in binary form must reproduce the above copyright
10 # notice, this list of conditions and the following disclaimer in the 10 # notice, this list of conditions and the following disclaimer in the
(...skipping 28 matching lines...) Expand all
39 PASS currentHolder[4] is "extra value" 39 PASS currentHolder[4] is "extra value"
40 40
41 Ensure the holder for our array is indeed an array 41 Ensure the holder for our array is indeed an array
42 PASS Array.isArray(currentHolder) is true 42 PASS Array.isArray(currentHolder) is true
43 PASS currentHolder.length is 5 43 PASS currentHolder.length is 5
44 44
45 Ensure that we always get the same holder 45 Ensure that we always get the same holder
46 PASS currentHolder is lastHolder 46 PASS currentHolder is lastHolder
47 47
48 Ensure that returning undefined has removed the property 0 from the holder durin g filtering. 48 Ensure that returning undefined has removed the property 0 from the holder durin g filtering.
49 FAIL currentHolder.hasOwnProperty(0) should be false. Was true. 49 PASS currentHolder.hasOwnProperty(0) is false
50 50
51 Ensure the holder for our array is indeed an array 51 Ensure the holder for our array is indeed an array
52 PASS Array.isArray(currentHolder) is true 52 PASS Array.isArray(currentHolder) is true
53 PASS currentHolder.length is 5 53 PASS currentHolder.length is 5
54 54
55 Ensure that we always get the same holder 55 Ensure that we always get the same holder
56 PASS currentHolder is lastHolder 56 PASS currentHolder is lastHolder
57 57
58 Ensure that changing the value of a property is reflected while filtering. 58 Ensure that changing the value of a property is reflected while filtering.
59 PASS currentHolder[2] is "a replaced value" 59 PASS currentHolder[2] is "a replaced value"
60 60
61 Ensure that the changed value is reflected in the arguments passed to the revive r 61 Ensure that the changed value is reflected in the arguments passed to the revive r
62 PASS value is currentHolder[2] 62 PASS value is currentHolder[2]
63 63
64 Ensure the holder for our array is indeed an array 64 Ensure the holder for our array is indeed an array
65 PASS Array.isArray(currentHolder) is true 65 PASS Array.isArray(currentHolder) is true
66 PASS currentHolder.length is 5 66 PASS currentHolder.length is 5
67 67
68 Ensure that we always get the same holder 68 Ensure that we always get the same holder
69 PASS currentHolder is lastHolder 69 PASS currentHolder is lastHolder
70 70
71 Ensure that we visited a value that we have deleted, and that deletion is reflec ted while filtering. 71 Ensure that we visited a value that we have deleted, and that deletion is reflec ted while filtering.
72 PASS currentHolder.hasOwnProperty(3) is false 72 PASS currentHolder.hasOwnProperty(3) is false
73 73
74 Ensure that when visiting a deleted property value is undefined 74 Ensure that when visiting a deleted property value is undefined
75 PASS value is undefined. 75 PASS value is undefined.
76 76
77 Ensure the holder for our array is indeed an array 77 Ensure the holder for our array is indeed an array
78 PASS Array.isArray(currentHolder) is true 78 PASS Array.isArray(currentHolder) is true
79 FAIL currentHolder.length should be 3. Was 4. 79 PASS currentHolder.length is 4
80 80
81 Ensure that we always get the same holder 81 Ensure that we always get the same holder
82 PASS currentHolder is lastHolder 82 PASS currentHolder is lastHolder
83 FAIL Did not call reviver for deleted property 83 PASS Ensured that property was visited despite Array length being reduced.
84 PASS value is undefined.
84 85
85 Ensure that we created the root holder as specified in ES5 86 Ensure that we created the root holder as specified in ES5
86 PASS '' in lastHolder is true 87 PASS '' in lastHolder is true
87 PASS result is lastHolder[''] 88 PASS result is lastHolder['']
88 89
89 Ensure that a deleted value is revived if the reviver function returns a value 90 Ensure that a deleted value is revived if the reviver function returns a value
90 FAIL result.hasOwnProperty(3) should be true. Was false. 91 PASS result.hasOwnProperty(3) is true
91 92
92 Test behaviour of revivor used in conjunction with an object 93 Test behaviour of revivor used in conjunction with an object
93 PASS currentHolder != globalObject is true 94 PASS currentHolder != globalObject is true
94 95
95 Ensure that the holder already has all the properties present at the start of fi ltering 96 Ensure that the holder already has all the properties present at the start of fi ltering
96 PASS currentHolder['a property'] is "a value" 97 PASS currentHolder['a property'] is "a value"
97 PASS currentHolder['another property'] is "another value" 98 PASS currentHolder['another property'] is "another value"
98 PASS currentHolder['and another property'] is "and another value" 99 PASS currentHolder['and another property'] is "and another value"
99 PASS currentHolder['to delete'] is "will be deleted" 100 PASS currentHolder['to delete'] is "will be deleted"
100 PASS currentHolder != globalObject is true 101 PASS currentHolder != globalObject is true
101 102
102 Ensure that we get the same holder object for each property 103 Ensure that we get the same holder object for each property
103 PASS currentHolder is lastHolder 104 PASS currentHolder is lastHolder
104 105
105 Ensure that returning undefined has correctly removed the property 'a property' from the holder object 106 Ensure that returning undefined has correctly removed the property 'a property' from the holder object
106 PASS currentHolder.hasOwnProperty('a property') is false 107 PASS currentHolder.hasOwnProperty('a property') is false
107 PASS currentHolder != globalObject is true 108 PASS currentHolder != globalObject is true
108 109
109 Ensure that we get the same holder object for each property 110 Ensure that we get the same holder object for each property
110 PASS currentHolder is lastHolder 111 PASS currentHolder is lastHolder
111 Ensure that changing the value of a property is reflected while filtering. 112 Ensure that changing the value of a property is reflected while filtering.
112 PASS currentHolder['and another property'] is "a replaced value" 113 PASS currentHolder['and another property'] is "a replaced value"
113 114
114 Ensure that the changed value is reflected in the arguments passed to the revive r 115 Ensure that the changed value is reflected in the arguments passed to the revive r
115 PASS value is "a replaced value" 116 PASS value is "a replaced value"
117 PASS currentHolder != globalObject is true
118
119 Ensure that we get the same holder object for each property
120 PASS currentHolder is lastHolder
121
122 Ensure that we visited a value that we have deleted, and that deletion is reflec ted while filtering.
123 PASS currentHolder.hasOwnProperty('to delete') is false
124
125 Ensure that when visiting a deleted property value is undefined
126 PASS value is undefined.
116 127
117 Ensure that we created the root holder as specified in ES5 128 Ensure that we created the root holder as specified in ES5
118 PASS lastHolder.hasOwnProperty('') is true 129 PASS lastHolder.hasOwnProperty('') is true
119 PASS result.hasOwnProperty('a property') is false 130 PASS result.hasOwnProperty('a property') is false
120 FAIL result.hasOwnProperty('to delete') should be true. Was false. 131 PASS result.hasOwnProperty('to delete') is true
121 PASS result is lastHolder[''] 132 PASS result is lastHolder['']
122 133
123 Test behaviour of revivor that introduces a cycle 134 Test behaviour of revivor that introduces a cycle
124 PASS JSON.parse("[0,1]", reviveAddsCycle) threw exception RangeError: Maximum ca ll stack size exceeded. 135 PASS JSON.parse("[0,1]", reviveAddsCycle) threw exception RangeError: Maximum ca ll stack size exceeded.
125 136
126 Test behaviour of revivor that introduces a new array classed object (the result of a regex) 137 Test behaviour of revivor that introduces a new array classed object (the result of a regex)
127 PASS JSON.stringify(JSON.parse("[0,1]", reviveIntroducesNewArrayLikeObject)) is '[0,["a","a"]]' 138 PASS JSON.stringify(JSON.parse("[0,1]", reviveIntroducesNewArrayLikeObject)) is '[0,["a","a"]]'
128 PASS successfullyParsed is true 139 PASS successfullyParsed is true
129 140
130 TEST COMPLETE 141 TEST COMPLETE
131 142
OLDNEW
« no previous file with comments | « test/webkit/fast/js/JSON-parse-reviver.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698