StringObjectUse should not be a structure check for the original string object structure
[WebKit-https.git] / LayoutTests / sputnik / Conformance / 08_Types / 8.4_The_String_Type / S8.4_A10.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.testRunner)
17     testRunner.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>S8.4_A10</p>
64 <div id='console'></div>
65 <script>
66 try {
67
68 /**
69 * @name: S8.4_A10;
70 * @section: 8.4, 7.8.4;
71 * @assertion: Both unicode and ascii chars are allowed;
72 * @description: Create string using both unicode and ascii chars; 
73 */
74
75 //////////////////////////////////////////////////////////////////////////////
76 //CHECK#1
77 var __str = "\u0041A\u0042B\u0043C";
78 if (__str !== 'AABBCC'){
79   testFailed('#1: var __str = "\\u0041A\\u0042B\\u0043C"; __str === \'AABBCC\'. Actual: ' + (__str));
80 };
81 //
82 //////////////////////////////////////////////////////////////////////////////
83
84 //////////////////////////////////////////////////////////////////////////////
85 //CHECK#2
86 var __str__ = "\u0041\u0042\u0043"+'ABC';
87 if (__str__ !== 'ABCABC'){
88   testFailed('#2: var __str__ = "\\u0041\\u0042\\u0043"+\'ABC\'; __str__ === \'ABCABC\'. Actual: ' + (__str__));
89 };
90 //
91 //////////////////////////////////////////////////////////////////////////////
92
93 //////////////////////////////////////////////////////////////////////////////
94 //CHECK#3
95 var str__ = "ABC"+'\u0041\u0042\u0043';
96 if (str__ !== "ABCABC"){
97   testFailed('#2: var str__ = "ABC"+\'\\u0041\\u0042\\u0043\'; str__ === "ABCABC". Actual: ' + (str__));
98 };
99 //
100 //////////////////////////////////////////////////////////////////////////////
101
102 } catch (ex) {
103     sputnikException = ex;
104 }
105
106 var successfullyParsed = true;
107 </script>
108
109 <script>
110 if (!successfullyParsed)
111     printTestFailed('successfullyParsed is not set');
112 else if (sputnikException)
113     printTestFailed(sputnikException);
114 else
115     printTestPassed("");
116 testPrint('<br /><span class="pass">TEST COMPLETE</span>');
117 </script>
118 </body>
119 </html>