~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Source/JavaScriptCore/tests/mozilla/ecma/LexicalConventions/7.6.js

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* The contents of this file are subject to the Netscape Public
 
2
 * License Version 1.1 (the "License"); you may not use this file
 
3
 * except in compliance with the License. You may obtain a copy of
 
4
 * the License at http://www.mozilla.org/NPL/
 
5
 *
 
6
 * Software distributed under the License is distributed on an "AS
 
7
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 
8
 * implied. See the License for the specific language governing
 
9
 * rights and limitations under the License.
 
10
 *
 
11
 * The Original Code is Mozilla Communicator client code, released March
 
12
 * 31, 1998.
 
13
 *
 
14
 * The Initial Developer of the Original Code is Netscape Communications
 
15
 * Corporation. Portions created by Netscape are
 
16
 * Copyright (C) 1998 Netscape Communications Corporation. All
 
17
 * Rights Reserved.
 
18
 *
 
19
 * Contributor(s): 
 
20
 * 
 
21
 */
 
22
/**
 
23
    File Name:          7.6.js
 
24
    ECMA Section:       Punctuators
 
25
    Description:
 
26
 
 
27
    This tests verifies that all ECMA punctutors are recognized as a
 
28
    token separator, but does not attempt to verify the functionality
 
29
    of any punctuator.
 
30
 
 
31
    Author:             christine@netscape.com
 
32
    Date:               12 november 1997
 
33
*/
 
34
 
 
35
    var SECTION = "7.6";
 
36
    var VERSION = "ECMA_1";
 
37
    startTest();
 
38
    var TITLE   = "Punctuators";
 
39
 
 
40
    writeHeaderToLog( SECTION + " "+ TITLE);
 
41
 
 
42
    var testcases = new Array();
 
43
 
 
44
    // ==
 
45
    testcases[tc++] = new TestCase( SECTION,
 
46
                                    "var c,d;c==d",
 
47
                                    true,
 
48
                                    eval("var c,d;c==d") );
 
49
 
 
50
    // =
 
51
 
 
52
    testcases[tc++] = new TestCase( SECTION,
 
53
                                    "var a=true;a",
 
54
                                    true,
 
55
                                    eval("var a=true;a") );
 
56
 
 
57
    // >
 
58
    testcases[tc++] = new TestCase( SECTION,
 
59
                                    "var a=true,b=false;a>b",
 
60
                                    true,
 
61
                                    eval("var a=true,b=false;a>b") );
 
62
 
 
63
    // <
 
64
    testcases[tc++] = new TestCase( SECTION,
 
65
                                    "var a=true,b=false;a<b",
 
66
                                    false,
 
67
                                    eval("var a=true,b=false;a<b") );
 
68
 
 
69
    // <=
 
70
    testcases[tc++] = new TestCase( SECTION,
 
71
                                    "var a=0xFFFF,b=0X0FFF;a<=b",
 
72
                                    false,
 
73
                                    eval("var a=0xFFFF,b=0X0FFF;a<=b") );
 
74
 
 
75
    // >=
 
76
    testcases[tc++] = new TestCase( SECTION,
 
77
                                    "var a=0xFFFF,b=0XFFFE;a>=b",
 
78
                                    true,
 
79
                                    eval("var a=0xFFFF,b=0XFFFE;a>=b") );
 
80
 
 
81
    // !=
 
82
    testcases[tc++] = new TestCase( SECTION,
 
83
                                    "var a=true,b=false;a!=b",
 
84
                                    true,
 
85
                                    eval("var a=true,b=false;a!=b") );
 
86
 
 
87
    testcases[tc++] = new TestCase( SECTION,
 
88
                                    "var a=false,b=false;a!=b",
 
89
                                    false,
 
90
                                    eval("var a=false,b=false;a!=b") );
 
91
    // ,
 
92
        testcases[tc++] = new TestCase( SECTION,
 
93
                                    "var a=true,b=false;a,b",
 
94
                                    false,
 
95
                                    eval("var a=true,b=false;a,b") );
 
96
    // !
 
97
        testcases[tc++] = new TestCase( SECTION,
 
98
                                    "var a=true,b=false;!a",
 
99
                                    false,
 
100
                                    eval("var a=true,b=false;!a") );
 
101
 
 
102
    // ~
 
103
        testcases[tc++] = new TestCase( SECTION,
 
104
                                    "var a=true;~a",
 
105
                                    -2,
 
106
                                    eval("var a=true;~a") );
 
107
    // ?
 
108
        testcases[tc++] = new TestCase( SECTION,
 
109
                                    "var a=true; (a ? 'PASS' : '')",
 
110
                                    "PASS",
 
111
                                    eval("var a=true; (a ? 'PASS' : '')") );
 
112
 
 
113
    // :
 
114
 
 
115
        testcases[tc++] = new TestCase( SECTION,
 
116
                                    "var a=false; (a ? 'FAIL' : 'PASS')",
 
117
                                    "PASS",
 
118
                                    eval("var a=false; (a ? 'FAIL' : 'PASS')") );
 
119
    // .
 
120
 
 
121
        testcases[tc++] = new TestCase( SECTION,
 
122
                                        "var a=Number;a.NaN",
 
123
                                        NaN,
 
124
                                        eval("var a=Number;a.NaN") );
 
125
 
 
126
    // &&
 
127
        testcases[tc++] = new TestCase( SECTION,
 
128
                                        "var a=true,b=true;if(a&&b)'PASS';else'FAIL'",
 
129
                                        "PASS",
 
130
                                        eval("var a=true,b=true;if(a&&b)'PASS';else'FAIL'") );
 
131
 
 
132
    // ||
 
133
        testcases[tc++] = new TestCase( SECTION,
 
134
                                        "var a=false,b=false;if(a||b)'FAIL';else'PASS'",
 
135
                                        "PASS",
 
136
                                        eval("var a=false,b=false;if(a||b)'FAIL';else'PASS'") );
 
137
    // ++
 
138
        testcases[tc++] = new TestCase( SECTION,
 
139
                                        "var a=false,b=false;++a",
 
140
                                        1,
 
141
                                        eval("var a=false,b=false;++a") );
 
142
    // --
 
143
        testcases[tc++] = new TestCase( SECTION,
 
144
                                        "var a=true,b=false--a",
 
145
                                        0,
 
146
                                        eval("var a=true,b=false;--a") );
 
147
    // +
 
148
 
 
149
        testcases[tc++] = new TestCase( SECTION,
 
150
                                        "var a=true,b=true;a+b",
 
151
                                        2,
 
152
                                        eval("var a=true,b=true;a+b") );
 
153
    // -
 
154
        testcases[tc++] = new TestCase( SECTION,
 
155
                                        "var a=true,b=true;a-b",
 
156
                                        0,
 
157
                                        eval("var a=true,b=true;a-b") );
 
158
    // *
 
159
        testcases[tc++] = new TestCase( SECTION,
 
160
                                        "var a=true,b=true;a*b",
 
161
                                        1,
 
162
                                        eval("var a=true,b=true;a*b") );
 
163
    // /
 
164
        testcases[tc++] = new TestCase( SECTION,
 
165
                                        "var a=true,b=true;a/b",
 
166
                                        1,
 
167
                                        eval("var a=true,b=true;a/b") );
 
168
    // &
 
169
        testcases[tc++] = new TestCase( SECTION,
 
170
                                        "var a=3,b=2;a&b",
 
171
                                        2,
 
172
                                        eval("var a=3,b=2;a&b") );
 
173
    // |
 
174
        testcases[tc++] = new TestCase( SECTION,
 
175
                                        "var a=4,b=3;a|b",
 
176
                                        7,
 
177
                                        eval("var a=4,b=3;a|b") );
 
178
 
 
179
    // |
 
180
        testcases[tc++] = new TestCase( SECTION,
 
181
                                        "var a=4,b=3;a^b",
 
182
                                        7,
 
183
                                        eval("var a=4,b=3;a^b") );
 
184
 
 
185
    // %
 
186
        testcases[tc++] = new TestCase( SECTION,
 
187
                                        "var a=4,b=3;a|b",
 
188
                                        1,
 
189
                                        eval("var a=4,b=3;a%b") );
 
190
 
 
191
    // <<
 
192
        testcases[tc++] = new TestCase( SECTION,
 
193
                                        "var a=4,b=3;a<<b",
 
194
                                        32,
 
195
                                        eval("var a=4,b=3;a<<b") );
 
196
 
 
197
    //  >>
 
198
        testcases[tc++] = new TestCase( SECTION,
 
199
                                        "var a=4,b=1;a>>b",
 
200
                                        2,
 
201
                                        eval("var a=4,b=1;a>>b") );
 
202
 
 
203
    //  >>>
 
204
        testcases[tc++] = new TestCase( SECTION,
 
205
                                        "var a=1,b=1;a>>>b",
 
206
                                        0,
 
207
                                        eval("var a=1,b=1;a>>>b") );
 
208
    //  +=
 
209
        testcases[tc++] = new TestCase( SECTION,
 
210
                                        "var a=4,b=3;a+=b;a",
 
211
                                        7,
 
212
                                        eval("var a=4,b=3;a+=b;a") );
 
213
 
 
214
    //  -=
 
215
        testcases[tc++] = new TestCase( SECTION,
 
216
                                        "var a=4,b=3;a-=b;a",
 
217
                                        1,
 
218
                                        eval("var a=4,b=3;a-=b;a") );
 
219
    //  *=
 
220
        testcases[tc++] = new TestCase( SECTION,
 
221
                                        "var a=4,b=3;a*=b;a",
 
222
                                        12,
 
223
                                        eval("var a=4,b=3;a*=b;a") );
 
224
    //  +=
 
225
        testcases[tc++] = new TestCase( SECTION,
 
226
                                        "var a=4,b=3;a+=b;a",
 
227
                                        7,
 
228
                                        eval("var a=4,b=3;a+=b;a") );
 
229
    //  /=
 
230
        testcases[tc++] = new TestCase( SECTION,
 
231
                                        "var a=12,b=3;a/=b;a",
 
232
                                        4,
 
233
                                        eval("var a=12,b=3;a/=b;a") );
 
234
 
 
235
    //  &=
 
236
        testcases[tc++] = new TestCase( SECTION,
 
237
                                        "var a=4,b=5;a&=b;a",
 
238
                                        4,
 
239
                                        eval("var a=4,b=5;a&=b;a") );
 
240
 
 
241
    // |=
 
242
        testcases[tc++] = new TestCase( SECTION,
 
243
                                        "var a=4,b=5;a&=b;a",
 
244
                                        5,
 
245
                                        eval("var a=4,b=5;a|=b;a") );
 
246
    //  ^=
 
247
        testcases[tc++] = new TestCase( SECTION,
 
248
                                        "var a=4,b=5;a^=b;a",
 
249
                                        1,
 
250
                                        eval("var a=4,b=5;a^=b;a") );
 
251
    // %=
 
252
        testcases[tc++] = new TestCase( SECTION,
 
253
                                        "var a=12,b=5;a%=b;a",
 
254
                                        2,
 
255
                                        eval("var a=12,b=5;a%=b;a") );
 
256
    // <<=
 
257
        testcases[tc++] = new TestCase( SECTION,
 
258
                                        "var a=4,b=3;a<<=b;a",
 
259
                                        32,
 
260
                                        eval("var a=4,b=3;a<<=b;a") );
 
261
 
 
262
    //  >>
 
263
        testcases[tc++] = new TestCase( SECTION,
 
264
                                        "var a=4,b=1;a>>=b;a",
 
265
                                        2,
 
266
                                        eval("var a=4,b=1;a>>=b;a") );
 
267
 
 
268
    //  >>>
 
269
        testcases[tc++] = new TestCase( SECTION,
 
270
                                        "var a=1,b=1;a>>>=b;a",
 
271
                                        0,
 
272
                                        eval("var a=1,b=1;a>>>=b;a") );
 
273
 
 
274
    // ()
 
275
        testcases[tc++] = new TestCase( SECTION,
 
276
                                        "var a=4,b=3;(a)",
 
277
                                        4,
 
278
                                        eval("var a=4,b=3;(a)") );
 
279
    // {}
 
280
        testcases[tc++] = new TestCase( SECTION,
 
281
                                        "var a=4,b=3;{b}",
 
282
                                        3,
 
283
                                        eval("var a=4,b=3;{b}") );
 
284
 
 
285
    // []
 
286
        testcases[tc++] = new TestCase( SECTION,
 
287
                                        "var a=new Array('hi');a[0]",
 
288
                                        "hi",
 
289
                                        eval("var a=new Array('hi');a[0]") );
 
290
    // []
 
291
        testcases[tc++] = new TestCase( SECTION,
 
292
                                        ";",
 
293
                                        void 0,
 
294
                                        eval(";") );
 
295
    test();
 
296
 
 
297
function test() {
 
298
    for ( tc=0; tc < testcases.length; tc++ ) {
 
299
        testcases[tc].passed = writeTestCaseResult(
 
300
                            testcases[tc].expect,
 
301
                            testcases[tc].actual,
 
302
                            testcases[tc].description +" = "+
 
303
                            testcases[tc].actual );
 
304
 
 
305
        testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";
 
306
    }
 
307
    stopTest();
 
308
    return ( testcases );
 
309
}