forked from chakra-core/ChakraCore
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnull.js
More file actions
71 lines (50 loc) · 3.48 KB
/
null.js
File metadata and controls
71 lines (50 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function write(v) { WScript.Echo(v + ""); }
var count = 0;
var total = 0;
var x = null;
try { write(x.y); } catch (e) { write(count++ + " " + e.message); } total++;
try { x.y = 5; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete x.y; } catch (e) { write(count++ + " " + e.message); } total++;
try { write(x[6]); } catch (e) { write(count++ + " " + e.message); } total++;
try { x[6] = 7; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete x[6] } catch (e) { write(count++ + " " + e.message); } total++;
x = undefined;
try { write(x.y); } catch (e) { write(count++ + " " + e.message); } total++;
try { x.y = 5; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete x.y; } catch (e) { write(count++ + " " + e.message); } total++;
try { write(x[6]); } catch (e) { write(count++ + " " + e.message); } total++;
try { x[6] = 7; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete x[6] } catch (e) { write(count++ + " " + e.message); } total++;
var a = [ null ];
try { write(a[0].y); } catch (e) { write(count++ + " " + e.message); } total++;
try { a[0].y = 5; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete a[0].y; } catch (e) { write(count++ + " " + e.message); } total++;
try { write(a[0][6]); } catch (e) { write(count++ + " " + e.message); } total++;
try { a[0][6] = 7; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete a[0][6] } catch (e) { write(count++ + " " + e.message); } total++;
a = [ undefined ];
try { write(a[0].y); } catch (e) { write(count++ + " " + e.message); } total++;
try { a[0].y = 5; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete a[0].y; } catch (e) { write(count++ + " " + e.message); } total++;
try { write(a[0][6]); } catch (e) { write(count++ + " " + e.message); } total++;
try { a[0][6] = 7; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete a[0][6] } catch (e) { write(count++ + " " + e.message); } total++;
var o = { z : null }
try { write(o.z.y); } catch (e) { write(count++ + " " + e.message); } total++;
try { o.z.y = 5; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete o.z.y; } catch (e) { write(count++ + " " + e.message); } total++;
try { write(o.z[6]); } catch (e) { write(count++ + " " + e.message); } total++;
try { o.z[6] = 7; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete o.z[6] } catch (e) { write(count++ + " " + e.message); } total++;
o = { z : undefined }
try { write(o.z.y); } catch (e) { write(count++ + " " + e.message); } total++;
try { o.z.y = 5; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete o.z.y; } catch (e) { write(count++ + " " + e.message); } total++;
try { write(o.z[6]); } catch (e) { write(count++ + " " + e.message); } total++;
try { o.z[6] = 7; } catch (e) { write(count++ + " " + e.message); } total++;
try { delete o.z[6] } catch (e) { write(count++ + " " + e.message); } total++;
write("count: " + count + " total: " + total);