[WebKit-https.git] / LayoutTests / js / es6-function-properties-expected.txt
1 Tests for ES6 class method and constructor properties
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 a.constructor
7 PASS 'length,name,prototype':::'length,name,prototype'
8 (new A()).constructor
9 PASS 'length,name,prototype':::'length,name,prototype'
10 PASS a.constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
11 PASS a.constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
12 PASS a.constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
13 PASS a.constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
14 PASS a.constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
15 PASS a.constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
16 PASS a.constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
17 PASS a.constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
18 PASS a.constructor.hasOwnProperty("caller"):::false
19 PASS a.constructor.hasOwnProperty("arguments"):::false
20 PASS Object.getOwnPropertyDescriptor(a.constructor, "caller"):::undefined
21 PASS Object.getOwnPropertyDescriptor(a.constructor, "arguments"):::undefined
22 PASS delete a.constructor.caller:::true
23 PASS delete a.constructor["caller"]:::true
24 PASS delete a.constructor.arguments:::true
25 PASS delete a.constructor["arguments"]:::true
26 PASS a.constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
27 PASS a.constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
28 PASS a.constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
29 PASS a.constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
30 PASS a.constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
31 PASS a.constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
32 PASS a.constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
33 PASS a.constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
34 PASS a.constructor.hasOwnProperty("caller"):::false
35 PASS a.constructor.hasOwnProperty("arguments"):::false
36 PASS Object.getOwnPropertyDescriptor(a.constructor, "caller"):::undefined
37 PASS Object.getOwnPropertyDescriptor(a.constructor, "arguments"):::undefined
38 PASS delete a.constructor.caller:::true
39 PASS delete a.constructor["caller"]:::true
40 PASS delete a.constructor.arguments:::true
41 PASS delete a.constructor["arguments"]:::true
42 PASS (new A()).constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
43 PASS (new A()).constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
44 PASS (new A()).constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
45 PASS (new A()).constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
46 PASS (new A()).constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
47 PASS (new A()).constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
48 PASS (new A()).constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
49 PASS (new A()).constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
50 PASS (new A()).constructor.hasOwnProperty("caller"):::false
51 PASS (new A()).constructor.hasOwnProperty("arguments"):::false
52 PASS Object.getOwnPropertyDescriptor((new A()).constructor, "caller"):::undefined
53 PASS Object.getOwnPropertyDescriptor((new A()).constructor, "arguments"):::undefined
54 PASS delete (new A()).constructor.caller:::true
55 PASS delete (new A()).constructor["caller"]:::true
56 PASS delete (new A()).constructor.arguments:::true
57 PASS delete (new A()).constructor["arguments"]:::true
58 b.constructor
59 PASS 'length,name,prototype':::'length,name,prototype'
60 (new B()).constructor
61 PASS 'length,name,prototype':::'length,name,prototype'
62 PASS b.constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
63 PASS b.constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
64 PASS b.constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
65 PASS b.constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
66 PASS b.constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
67 PASS b.constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
68 PASS b.constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
69 PASS b.constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
70 PASS b.constructor.hasOwnProperty("caller"):::false
71 PASS b.constructor.hasOwnProperty("arguments"):::false
72 PASS Object.getOwnPropertyDescriptor(b.constructor, "caller"):::undefined
73 PASS Object.getOwnPropertyDescriptor(b.constructor, "arguments"):::undefined
74 PASS delete b.constructor.caller:::true
75 PASS delete b.constructor["caller"]:::true
76 PASS delete b.constructor.arguments:::true
77 PASS delete b.constructor["arguments"]:::true
78 PASS (new B()).constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
79 PASS (new B()).constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
80 PASS (new B()).constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
81 PASS (new B()).constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
82 PASS (new B()).constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
83 PASS (new B()).constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
84 PASS (new B()).constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
85 PASS (new B()).constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
86 PASS (new B()).constructor.hasOwnProperty("caller"):::false
87 PASS (new B()).constructor.hasOwnProperty("arguments"):::false
88 PASS Object.getOwnPropertyDescriptor((new B()).constructor, "caller"):::undefined
89 PASS Object.getOwnPropertyDescriptor((new B()).constructor, "arguments"):::undefined
90 PASS delete (new B()).constructor.caller:::true
91 PASS delete (new B()).constructor["caller"]:::true
92 PASS delete (new B()).constructor.arguments:::true
93 PASS delete (new B()).constructor["arguments"]:::true
94 c.constructor
95 PASS 'length,name,prototype':::'length,name,prototype'
96 (new C()).constructor
97 PASS 'length,name,prototype':::'length,name,prototype'
98 PASS c.constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
99 PASS c.constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
100 PASS c.constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
101 PASS c.constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
102 PASS c.constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
103 PASS c.constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
104 PASS c.constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
105 PASS c.constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
106 PASS c.constructor.hasOwnProperty("caller"):::false
107 PASS c.constructor.hasOwnProperty("arguments"):::false
108 PASS Object.getOwnPropertyDescriptor(c.constructor, "caller"):::undefined
109 PASS Object.getOwnPropertyDescriptor(c.constructor, "arguments"):::undefined
110 PASS delete c.constructor.caller:::true
111 PASS delete c.constructor["caller"]:::true
112 PASS delete c.constructor.arguments:::true
113 PASS delete c.constructor["arguments"]:::true
114 PASS (new C()).constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
115 PASS (new C()).constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
116 PASS (new C()).constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
117 PASS (new C()).constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
118 PASS (new C()).constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
119 PASS (new C()).constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
120 PASS (new C()).constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
121 PASS (new C()).constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
122 PASS (new C()).constructor.hasOwnProperty("caller"):::false
123 PASS (new C()).constructor.hasOwnProperty("arguments"):::false
124 PASS Object.getOwnPropertyDescriptor((new C()).constructor, "caller"):::undefined
125 PASS Object.getOwnPropertyDescriptor((new C()).constructor, "arguments"):::undefined
126 PASS delete (new C()).constructor.caller:::true
127 PASS delete (new C()).constructor["caller"]:::true
128 PASS delete (new C()).constructor.arguments:::true
129 PASS delete (new C()).constructor["arguments"]:::true
130 c.constructor
131 PASS 'length,name,prototype':::'length,name,prototype'
132 (new D()).constructor
133 PASS 'length,name,prototype':::'length,name,prototype'
134 PASS d.constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
135 PASS d.constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
136 PASS d.constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
137 PASS d.constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
138 PASS d.constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
139 PASS d.constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
140 PASS d.constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
141 PASS d.constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
142 PASS d.constructor.hasOwnProperty("caller"):::false
143 PASS d.constructor.hasOwnProperty("arguments"):::false
144 PASS Object.getOwnPropertyDescriptor(d.constructor, "caller"):::undefined
145 PASS Object.getOwnPropertyDescriptor(d.constructor, "arguments"):::undefined
146 PASS delete d.constructor.caller:::true
147 PASS delete d.constructor["caller"]:::true
148 PASS delete d.constructor.arguments:::true
149 PASS delete d.constructor["arguments"]:::true
150 PASS (new D()).constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
151 PASS (new D()).constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
152 PASS (new D()).constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
153 PASS (new D()).constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
154 PASS (new D()).constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
155 PASS (new D()).constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
156 PASS (new D()).constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
157 PASS (new D()).constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
158 PASS (new D()).constructor.hasOwnProperty("caller"):::false
159 PASS (new D()).constructor.hasOwnProperty("arguments"):::false
160 PASS Object.getOwnPropertyDescriptor((new D()).constructor, "caller"):::undefined
161 PASS Object.getOwnPropertyDescriptor((new D()).constructor, "arguments"):::undefined
162 PASS delete (new D()).constructor.caller:::true
163 PASS delete (new D()).constructor["caller"]:::true
164 PASS delete (new D()).constructor.arguments:::true
165 PASS delete (new D()).constructor["arguments"]:::true
166 e.constructor
167 PASS 'length,name,prototype':::'length,name,prototype'
168 (new E()).getItem
169 PASS 'length,name,prototype':::'length,name,prototype'
170 PASS e.constructor.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
171 PASS e.constructor.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
172 PASS e.constructor["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
173 PASS e.constructor["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
174 PASS e.constructor.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
175 PASS e.constructor.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
176 PASS e.constructor["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
177 PASS e.constructor["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
178 PASS e.constructor.hasOwnProperty("caller"):::false
179 PASS e.constructor.hasOwnProperty("arguments"):::false
180 PASS Object.getOwnPropertyDescriptor(e.constructor, "caller"):::undefined
181 PASS Object.getOwnPropertyDescriptor(e.constructor, "arguments"):::undefined
182 PASS delete e.constructor.caller:::true
183 PASS delete e.constructor["caller"]:::true
184 PASS delete e.constructor.arguments:::true
185 PASS delete e.constructor["arguments"]:::true
186 PASS (new E()).getItem.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
187 PASS (new E()).getItem.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
188 PASS (new E()).getItem["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
189 PASS (new E()).getItem["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
190 PASS (new E()).getItem.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
191 PASS (new E()).getItem.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
192 PASS (new E()).getItem["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
193 PASS (new E()).getItem["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
194 PASS (new E()).getItem.hasOwnProperty("caller"):::false
195 PASS (new E()).getItem.hasOwnProperty("arguments"):::false
196 PASS Object.getOwnPropertyDescriptor((new E()).getItem, "caller"):::undefined
197 PASS Object.getOwnPropertyDescriptor((new E()).getItem, "arguments"):::undefined
198 PASS delete (new E()).getItem.caller:::true
199 PASS delete (new E()).getItem["caller"]:::true
200 PASS delete (new E()).getItem.arguments:::true
201 PASS delete (new E()).getItem["arguments"]:::true
202 f.getItem
203 PASS 'length,name,prototype':::'length,name,prototype'
204 f.getElement
205 PASS 'length,name,prototype':::'length,name,prototype'
206 PASS f.getItem.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
207 PASS f.getItem.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
208 PASS f.getItem["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
209 PASS f.getItem["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
210 PASS f.getItem.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
211 PASS f.getItem.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
212 PASS f.getItem["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
213 PASS f.getItem["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
214 PASS f.getItem.hasOwnProperty("caller"):::false
215 PASS f.getItem.hasOwnProperty("arguments"):::false
216 PASS Object.getOwnPropertyDescriptor(f.getItem, "caller"):::undefined
217 PASS Object.getOwnPropertyDescriptor(f.getItem, "arguments"):::undefined
218 PASS delete f.getItem.caller:::true
219 PASS delete f.getItem["caller"]:::true
220 PASS delete f.getItem.arguments:::true
221 PASS delete f.getItem["arguments"]:::true
222 PASS f.getElement.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
223 PASS f.getElement.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
224 PASS f.getElement["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
225 PASS f.getElement["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
226 PASS f.getElement.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
227 PASS f.getElement.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
228 PASS f.getElement["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
229 PASS f.getElement["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
230 PASS f.getElement.hasOwnProperty("caller"):::false
231 PASS f.getElement.hasOwnProperty("arguments"):::false
232 PASS Object.getOwnPropertyDescriptor(f.getElement, "caller"):::undefined
233 PASS Object.getOwnPropertyDescriptor(f.getElement, "arguments"):::undefined
234 PASS delete f.getElement.caller:::true
235 PASS delete f.getElement["caller"]:::true
236 PASS delete f.getElement.arguments:::true
237 PASS delete f.getElement["arguments"]:::true
238 (new F()).getItem
239 PASS 'length,name,prototype':::'length,name,prototype'
240 (new F()).getElement
241 PASS 'length,name,prototype':::'length,name,prototype'
242 PASS (new F()).getItem.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
243 PASS (new F()).getItem.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
244 PASS (new F()).getItem["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
245 PASS (new F()).getItem["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
246 PASS (new F()).getItem.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
247 PASS (new F()).getItem.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
248 PASS (new F()).getItem["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
249 PASS (new F()).getItem["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
250 PASS (new F()).getItem.hasOwnProperty("caller"):::false
251 PASS (new F()).getItem.hasOwnProperty("arguments"):::false
252 PASS Object.getOwnPropertyDescriptor((new F()).getItem, "caller"):::undefined
253 PASS Object.getOwnPropertyDescriptor((new F()).getItem, "arguments"):::undefined
254 PASS delete (new F()).getItem.caller:::true
255 PASS delete (new F()).getItem["caller"]:::true
256 PASS delete (new F()).getItem.arguments:::true
257 PASS delete (new F()).getItem["arguments"]:::true
258 PASS (new F()).getElement.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
259 PASS (new F()).getElement.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
260 PASS (new F()).getElement["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
261 PASS (new F()).getElement["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
262 PASS (new F()).getElement.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
263 PASS (new F()).getElement.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
264 PASS (new F()).getElement["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
265 PASS (new F()).getElement["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
266 PASS (new F()).getElement.hasOwnProperty("caller"):::false
267 PASS (new F()).getElement.hasOwnProperty("arguments"):::false
268 PASS Object.getOwnPropertyDescriptor((new F()).getElement, "caller"):::undefined
269 PASS Object.getOwnPropertyDescriptor((new F()).getElement, "arguments"):::undefined
270 PASS delete (new F()).getElement.caller:::true
271 PASS delete (new F()).getElement["caller"]:::true
272 PASS delete (new F()).getElement.arguments:::true
273 PASS delete (new F()).getElement["arguments"]:::true
274 arr
275 PASS 'length,name':::'length,name'
276 ()=>{}
277 PASS 'length,name':::'length,name'
278 PASS arr.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
279 PASS arr.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
280 PASS arr["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
281 PASS arr["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
282 PASS arr.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
283 PASS arr.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
284 PASS arr["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
285 PASS arr["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
286 PASS arr.hasOwnProperty("caller"):::false
287 PASS arr.hasOwnProperty("arguments"):::false
288 PASS Object.getOwnPropertyDescriptor(arr, "caller"):::undefined
289 PASS Object.getOwnPropertyDescriptor(arr, "arguments"):::undefined
290 PASS delete arr.caller:::true
291 PASS delete arr["caller"]:::true
292 PASS delete arr.arguments:::true
293 PASS delete arr["arguments"]:::true
294 PASS (()=>{}).caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
295 PASS (()=>{}).arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
296 PASS (()=>{})["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
297 PASS (()=>{})["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
298 PASS (()=>{}).caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
299 PASS (()=>{}).arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
300 PASS (()=>{})["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
301 PASS (()=>{})["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
302 PASS (()=>{}).hasOwnProperty("caller"):::false
303 PASS (()=>{}).hasOwnProperty("arguments"):::false
304 PASS Object.getOwnPropertyDescriptor((()=>{}), "caller"):::undefined
305 PASS Object.getOwnPropertyDescriptor((()=>{}), "arguments"):::undefined
306 PASS delete (()=>{}).caller:::true
307 PASS delete (()=>{})["caller"]:::true
308 PASS delete (()=>{}).arguments:::true
309 PASS delete (()=>{})["arguments"]:::true
310 PASS g.item.caller:::undefined
311 PASS g.item.arguments:::undefined
312 PASS (new G()).item.caller:::undefined
313 PASS (new G()).item.arguments:::undefined
314 PASS H.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
315 PASS H.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
316 PASS H["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
317 PASS H["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
318 PASS H.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
319 PASS H.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
320 PASS H["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
321 PASS H["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
322 PASS H.hasOwnProperty("caller"):::false
323 PASS H.hasOwnProperty("arguments"):::false
324 PASS Object.getOwnPropertyDescriptor(H, "caller"):::undefined
325 PASS Object.getOwnPropertyDescriptor(H, "arguments"):::undefined
326 PASS delete H.caller:::true
327 PASS delete H["caller"]:::true
328 PASS delete H.arguments:::true
329 PASS delete H["arguments"]:::true
330 PASS h.caller():::"value"
331 PASS h.arguments():::"value"
332 h.caller
333 PASS 'length,name,prototype':::'length,name,prototype'
334 h.arguments
335 PASS 'length,name,prototype':::'length,name,prototype'
336 PASS h.caller.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
337 PASS h.caller.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
338 PASS h.caller["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
339 PASS h.caller["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
340 PASS h.caller.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
341 PASS h.caller.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
342 PASS h.caller["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
343 PASS h.caller["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
344 PASS h.caller.hasOwnProperty("caller"):::false
345 PASS h.caller.hasOwnProperty("arguments"):::false
346 PASS Object.getOwnPropertyDescriptor(h.caller, "caller"):::undefined
347 PASS Object.getOwnPropertyDescriptor(h.caller, "arguments"):::undefined
348 PASS delete h.caller.caller:::true
349 PASS delete h.caller["caller"]:::true
350 PASS delete h.caller.arguments:::true
351 PASS delete h.caller["arguments"]:::true
352 PASS (new H()).caller():::"value"
353 PASS (new H()).arguments():::"value"
354 PASS (new H()).caller.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
355 PASS (new H()).caller.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
356 PASS (new H()).caller["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
357 PASS (new H()).caller["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
358 PASS (new H()).caller.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
359 PASS (new H()).caller.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
360 PASS (new H()).caller["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
361 PASS (new H()).caller["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
362 PASS (new H()).caller.hasOwnProperty("caller"):::false
363 PASS (new H()).caller.hasOwnProperty("arguments"):::false
364 PASS Object.getOwnPropertyDescriptor((new H()).caller, "caller"):::undefined
365 PASS Object.getOwnPropertyDescriptor((new H()).caller, "arguments"):::undefined
366 PASS delete (new H()).caller.caller:::true
367 PASS delete (new H()).caller["caller"]:::true
368 PASS delete (new H()).caller.arguments:::true
369 PASS delete (new H()).caller["arguments"]:::true
370 J.gen
371 PASS 'length,name,prototype':::'length,name,prototype'
372 J.get
373 PASS 'length,name,prototype':::'length,name,prototype'
374 PASS J.gen.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
375 PASS J.gen.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
376 PASS J.gen["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
377 PASS J.gen["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
378 PASS J.gen.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
379 PASS J.gen.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
380 PASS J.gen["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
381 PASS J.gen["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
382 PASS J.gen.hasOwnProperty("caller"):::false
383 PASS J.gen.hasOwnProperty("arguments"):::false
384 PASS Object.getOwnPropertyDescriptor(J.gen, "caller"):::undefined
385 PASS Object.getOwnPropertyDescriptor(J.gen, "arguments"):::undefined
386 PASS delete J.gen.caller:::true
387 PASS delete J.gen["caller"]:::true
388 PASS delete J.gen.arguments:::true
389 PASS delete J.gen["arguments"]:::true
390 PASS J.get.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
391 PASS J.get.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
392 PASS J.get["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
393 PASS J.get["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
394 PASS J.get.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
395 PASS J.get.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
396 PASS J.get["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
397 PASS J.get["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
398 PASS J.get.hasOwnProperty("caller"):::false
399 PASS J.get.hasOwnProperty("arguments"):::false
400 PASS Object.getOwnPropertyDescriptor(J.get, "caller"):::undefined
401 PASS Object.getOwnPropertyDescriptor(J.get, "arguments"):::undefined
402 PASS delete J.get.caller:::true
403 PASS delete J.get["caller"]:::true
404 PASS delete J.get.arguments:::true
405 PASS delete J.get["arguments"]:::true
406 j.gen
407 PASS 'length,name,prototype':::'length,name,prototype'
408 j.get
409 PASS 'length,name,prototype':::'length,name,prototype'
410 PASS j.gen.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
411 PASS j.gen.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
412 PASS j.gen["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
413 PASS j.gen["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
414 PASS j.gen.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
415 PASS j.gen.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
416 PASS j.gen["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
417 PASS j.gen["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
418 PASS j.gen.hasOwnProperty("caller"):::false
419 PASS j.gen.hasOwnProperty("arguments"):::false
420 PASS Object.getOwnPropertyDescriptor(j.gen, "caller"):::undefined
421 PASS Object.getOwnPropertyDescriptor(j.gen, "arguments"):::undefined
422 PASS delete j.gen.caller:::true
423 PASS delete j.gen["caller"]:::true
424 PASS delete j.gen.arguments:::true
425 PASS delete j.gen["arguments"]:::true
426 PASS j.get.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
427 PASS j.get.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
428 PASS j.get["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
429 PASS j.get["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
430 PASS j.get.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
431 PASS j.get.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
432 PASS j.get["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
433 PASS j.get["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
434 PASS j.get.hasOwnProperty("caller"):::false
435 PASS j.get.hasOwnProperty("arguments"):::false
436 PASS Object.getOwnPropertyDescriptor(j.get, "caller"):::undefined
437 PASS Object.getOwnPropertyDescriptor(j.get, "arguments"):::undefined
438 PASS delete j.get.caller:::true
439 PASS delete j.get["caller"]:::true
440 PASS delete j.get.arguments:::true
441 PASS delete j.get["arguments"]:::true
442 (new J).gen
443 PASS 'length,name,prototype':::'length,name,prototype'
444 (new J).get
445 PASS 'length,name,prototype':::'length,name,prototype'
446 PASS (new J).gen.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
447 PASS (new J).gen.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
448 PASS (new J).gen["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
449 PASS (new J).gen["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
450 PASS (new J).gen.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
451 PASS (new J).gen.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
452 PASS (new J).gen["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
453 PASS (new J).gen["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
454 PASS (new J).gen.hasOwnProperty("caller"):::false
455 PASS (new J).gen.hasOwnProperty("arguments"):::false
456 PASS Object.getOwnPropertyDescriptor((new J).gen, "caller"):::undefined
457 PASS Object.getOwnPropertyDescriptor((new J).gen, "arguments"):::undefined
458 PASS delete (new J).gen.caller:::true
459 PASS delete (new J).gen["caller"]:::true
460 PASS delete (new J).gen.arguments:::true
461 PASS delete (new J).gen["arguments"]:::true
462 PASS (new J).get.caller:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
463 PASS (new J).get.arguments:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
464 PASS (new J).get["caller"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
465 PASS (new J).get["arguments"]:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
466 PASS (new J).get.caller = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
467 PASS (new J).get.arguments = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
468 PASS (new J).get["caller"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
469 PASS (new J).get["arguments"] = function () {}:::TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in strict mode.
470 PASS (new J).get.hasOwnProperty("caller"):::false
471 PASS (new J).get.hasOwnProperty("arguments"):::false
472 PASS Object.getOwnPropertyDescriptor((new J).get, "caller"):::undefined
473 PASS Object.getOwnPropertyDescriptor((new J).get, "arguments"):::undefined
474 PASS delete (new J).get.caller:::true
475 PASS delete (new J).get["caller"]:::true
476 PASS delete (new J).get.arguments:::true
477 PASS delete (new J).get["arguments"]:::true
478 PASS successfullyParsed:::true