[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / arrowfunction-tdz-3.js
1 var testCase = function (actual, expected, message) {
2   if (actual !== expected) {
3     throw message + ". Expected '" + expected + "', but was '" + actual + "'";
4   }
5 };
6
7 var A = class A {
8    constructor() {
9       this.id = 'A'
10    }
11 };
12
13 var B = class B extends A {
14   constructor(beforeSuper) {
15     var f = () => {
16       if (this.id === 'A') {
17         return 'ok';
18       }
19       return 'ok';
20     };
21     let val;
22     if (beforeSuper) {
23       val = f();
24       super();
25     } else {
26       super();
27       val = f();
28     }
29     this.res = val;
30   }
31 };
32
33 var C = class C extends A {
34   constructor(beforeSuper) {
35     var f = () => {
36       if (this > 5) {
37         return 'ok';
38       }
39       return 'ok';
40     };
41     let val;
42     if (beforeSuper) {
43       val = f();
44       super();
45     } else {
46       super();
47       val = f();
48     }
49     this.res = val;
50   }
51 };
52
53 var D = class D extends A {
54   constructor(beforeSuper) {
55     var f = () => {
56       if (this < 5) {
57         return 'ok';
58       }
59       return 'ok';
60     };
61     let val;
62     if (beforeSuper) {
63       val = f();
64       super();
65     } else {
66       super();
67       val = f();
68     }
69     this.res = val;
70   }
71 };
72
73 var E = class E extends A {
74   constructor(beforeSuper) {
75     var f = () => {
76       if (this !== 5) {
77         return 'ok';
78       }
79       return 'ok';
80     };
81     let val;
82     if (beforeSuper) {
83       val = f();
84       super();
85     } else {
86       super();
87        val = f();
88     }
89     this.res = val;
90   }
91 };
92
93 var F = class F extends A {
94   constructor(beforeSuper) {
95     var f = () => {
96       if (this <= 5) {
97         return 'ok';
98       }
99       return 'ok';
100     };
101     let val;
102     if (beforeSuper) {
103       val = f();
104       super();
105     } else {
106       super();
107       val = f();
108     }
109     this.res = val;
110   }
111 };
112
113 var G = class G extends A {
114   constructor(beforeSuper) {
115     var f = () => {
116       if (this >= 5) {
117         return 'ok';
118       }
119       return 'ok';
120     };
121     let val;
122     if (beforeSuper) {
123       val = f();
124       super();
125     } else {
126       super();
127       val = f();
128     }
129     this.res = val;
130   }
131 };
132
133 var G = class G extends A {
134   constructor(beforeSuper) {
135     var f = () => {
136       if (this === 5) {
137         return 'ok';
138       }
139       return 'ok';
140     };
141     let val;
142     if (beforeSuper) {
143       val = f();
144       super();
145     } else {
146       super();
147       val = f();
148     }
149     this.res = val;
150   }
151 };
152
153 var tryToCreate = function (classForCreate) {
154   var result = false;
155   try {
156        new classForCreate(true);
157   } catch (e) {
158       result = e instanceof ReferenceError;
159   }
160
161   return result;
162 }
163
164 var check = function (classForCheck) {
165   testCase(tryToCreate(classForCheck), true, 'Exception wasn\'t thrown or was not a reference error');
166   var result = new classForCheck(false);
167   testCase(result.res, 'ok', 'Error in setting id ');
168 }
169
170 for (var i = 0; i < 10000; i++) {
171   check(B);
172   check(C);
173   check(D);
174   check(E);
175   check(F);
176   check(G);
177 }