2011-02-07 James Robinson <jamesr@chromium.org>
[WebKit-https.git] / LayoutTests / sputnik / Conformance / 07_Lexical_Conventions / 7.6_Identifiers / S7.6_A2.1_T4.html
1 <html>
2 <head>
3 <meta charset='utf-8'>
4 <style>
5 .pass {
6     font-weight: bold;
7     color: green;
8 }
9 .fail {
10     font-weight: bold;
11     color: red;
12 }
13 </style>
14
15 <script>
16 if (window.layoutTestController)
17     layoutTestController.dumpAsText();
18
19 function SputnikError(message)
20 {
21     this.message = message;
22 }
23
24 SputnikError.prototype.toString = function ()
25 {
26     return 'SputnikError: ' + this.message;
27 };
28
29 var sputnikException;
30
31 function testPrint(msg)
32 {
33     var span = document.createElement("span");
34     document.getElementById("console").appendChild(span); // insert it first so XHTML knows the namespace 
35     span.innerHTML = msg + '<br />';
36 }
37
38 function escapeHTML(text)
39 {
40     return text.toString().replace(/&/g, "&amp;").replace(/</g, "&lt;");
41 }
42
43 function printTestPassed(msg)
44 {
45     testPrint('<span><span class="pass">PASS</span> ' + escapeHTML(msg) + '</span>');
46 }
47
48 function printTestFailed(msg)
49 {
50     testPrint('<span><span class="fail">FAIL</span> ' + escapeHTML(msg) + '</span>');
51 }
52
53 function testFailed(msg)
54 {
55     throw new SputnikError(msg);
56 }
57
58 var successfullyParsed = false;
59 </script>
60
61 </head>
62 <body>
63 <p>S7.6_A2.1_T4</p>
64 <div id='console'></div>
65 <script>
66 try {
67
68 /**
69  * @name: S7.6_A2.1_T4;
70  * @section: 7.6;
71  * @assertion: IdentifierPart :: IdentifierStart;
72  * @description: IdentifierStart :: \UnicodeEscapeSequence;
73 */
74
75 //CHECK#1
76 try {
77   var x\u0078 = 1;
78   if (xx !== 1) {
79     testFailed('#1.1: var x\\u0078 = 1; xx === 1. Actual: ' + (xx));
80   }
81 } catch (e) {
82   testFailed('#1.2: var x\\u0078 = 1; xx === 1. Actual: ' + (xx));
83 }
84
85 //CHECK#2
86 try {
87   var \u0078\u0078 = 2;
88   if (xx !== 2) {
89     testFailed('#2.1: var \\u0078\\u0078 = 1; xx === 2. Actual: ' + (xx));
90   }
91 } catch (e) {
92   testFailed('#2.2: var \\u0078\\u0078 = 1; xx === 2. Actual: ' + (xx));
93 }
94
95 //CHECK#3
96 try {
97   var \u0024\u0024 = 3;
98   if ($$ !== 3) {
99     testFailed('#3.1: var \\u0024\\u0024 = 1; $$ === 3. Actual: ' + ($$));
100   }
101 } catch (e) {
102   testFailed('#3.2: var \\u0024\\u0024 = 1; $$ === 3. Actual: ' + ($$));
103 }
104
105 //CHECK#4
106 try {
107   var \u005F\u005F = 4;
108   if (__ !== 4) {
109     testFailed('#4.1: var \\u005F\\u005F = 1; __ === 4. Actual: ' + (__));
110   }
111 } catch (e) {
112   testFailed('#4.2: var \\u005F\\u005F = 1; __ === 4. Actual: ' + (__));
113 }
114
115 } catch (ex) {
116     sputnikException = ex;
117 }
118
119 var successfullyParsed = true;
120 </script>
121
122 <script>
123 if (!successfullyParsed)
124     printTestFailed('successfullyParsed is not set');
125 else if (sputnikException)
126     printTestFailed(sputnikException);
127 else
128     printTestPassed("");
129 testPrint('<br /><span class="pass">TEST COMPLETE</span>');
130 </script>
131 </body>
132 </html>