]>
Commit | Line | Data |
---|---|---|
1 | /** | |
2 | * File Name: StrictEquality-001.js | |
3 | * ECMA Section: 11.9.6.js | |
4 | * Description: | |
5 | * | |
6 | * Author: christine@netscape.com | |
7 | * Date: 4 september 1998 | |
8 | */ | |
9 | var SECTION = "StrictEquality-001 - 11.9.6"; | |
10 | var VERSION = "ECMA_2"; | |
11 | var TITLE = "The strict equality operator ( === )"; | |
12 | ||
13 | startTest(); | |
14 | writeHeaderToLog( SECTION + " "+ TITLE); | |
15 | ||
16 | var tc = 0; | |
17 | var testcases = new Array(); | |
18 | ||
19 | ||
20 | // 1. If Type(x) is different from Type(y) return false | |
21 | ||
22 | StrictEquality( true, new Boolean(true), false ); | |
23 | StrictEquality( new Boolean(), false, false ); | |
24 | StrictEquality( "", new String(), false ); | |
25 | StrictEquality( new String("hi"), "hi", false ); | |
26 | ||
27 | // 2. If Type(x) is not Number go to step 9. | |
28 | ||
29 | // 3. If x is NaN, return false | |
30 | StrictEquality( NaN, NaN, false ); | |
31 | StrictEquality( NaN, 0, false ); | |
32 | ||
33 | // 4. If y is NaN, return false. | |
34 | StrictEquality( 0, NaN, false ); | |
35 | ||
36 | // 5. if x is the same number value as y, return true | |
37 | ||
38 | // 6. If x is +0 and y is -0, return true | |
39 | ||
40 | // 7. If x is -0 and y is +0, return true | |
41 | ||
42 | // 8. Return false. | |
43 | ||
44 | ||
45 | // 9. If Type(x) is String, then return true if x and y are exactly | |
46 | // the same sequence of characters ( same length and same characters | |
47 | // in corresponding positions.) Otherwise return false. | |
48 | ||
49 | // 10. If Type(x) is Boolean, return true if x and y are both true or | |
50 | // both false. otherwise return false. | |
51 | ||
52 | ||
53 | // Return true if x and y refer to the same object. Otherwise return | |
54 | // false. | |
55 | ||
56 | // Return false. | |
57 | ||
58 | ||
59 | test(); | |
60 | ||
61 | function StrictEquality( x, y, expect ) { | |
62 | result = ( x === y ); | |
63 | ||
64 | testcases[tc++] = new TestCase( | |
65 | SECTION, | |
66 | x +" === " + y, | |
67 | expect, | |
68 | result ); | |
69 | } | |
70 |