2011-02-05 Patrick Gansterer <paroga@webkit.org>
authorparoga@webkit.org <paroga@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Feb 2011 20:30:15 +0000 (20:30 +0000)
committerparoga@webkit.org <paroga@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Feb 2011 20:30:15 +0000 (20:30 +0000)
        Reviewed by Alexey Proskuryakov.

        Add addition test for inherited encoding
        https://bugs.webkit.org/show_bug.cgi?id=53398

        Check if the right encoding is used, after document.charset was set.

        * fast/dom/Document/document-charset.html: Added doctype to make it pass in IE9 out of the box.
        * fast/encoding/css-charset-default-expected.txt:
        * fast/encoding/css-charset-default.xhtml:
        * fast/encoding/external-script-charset-expected.txt:
        * fast/encoding/external-script-charset-koi-8.js: Added.
        * fast/encoding/external-script-charset.js:
        * fast/encoding/external-script-charset.xhtml:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/dom/Document/document-charset.html
LayoutTests/fast/encoding/css-charset-default-expected.txt
LayoutTests/fast/encoding/css-charset-default.xhtml
LayoutTests/fast/encoding/external-script-charset-expected.txt
LayoutTests/fast/encoding/external-script-charset-koi-8.js [new file with mode: 0644]
LayoutTests/fast/encoding/external-script-charset.js
LayoutTests/fast/encoding/external-script-charset.xhtml

index 42dc4d2347cd118cbd405330dbb6729b387a08ab..e72d8498b64e12adf2cae264d9a3c1ea3124ed1a 100644 (file)
@@ -1,3 +1,20 @@
+2011-02-05  Patrick Gansterer  <paroga@webkit.org>
+
+        Reviewed by Alexey Proskuryakov.
+
+        Add addition test for inherited encoding
+        https://bugs.webkit.org/show_bug.cgi?id=53398
+
+        Check if the right encoding is used, after document.charset was set.
+
+        * fast/dom/Document/document-charset.html: Added doctype to make it pass in IE9 out of the box.
+        * fast/encoding/css-charset-default-expected.txt:
+        * fast/encoding/css-charset-default.xhtml:
+        * fast/encoding/external-script-charset-expected.txt:
+        * fast/encoding/external-script-charset-koi-8.js: Added.
+        * fast/encoding/external-script-charset.js:
+        * fast/encoding/external-script-charset.xhtml:
+
 2011-02-05  Martin Robinson  <mrobinson@igalia.com>
 
         JSC::Bindings m_rootObject->isValid() assert fails when running layout tests
index a90907356bab25ce4bc31fc7c7631dec6f20c5c1..c816e98eaf0044ce6f39881c3d1768f67ca78747 100644 (file)
@@ -1,3 +1,4 @@
+<!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
@@ -5,37 +6,37 @@
 <body>
 <script>
 
-       if (window.layoutTestController)
-               layoutTestController.dumpAsText();
-               
-       document.write("<p>Initial</p>");
-       document.write("<p>&nbsp;document.charset: " + document.charset + "</p>");      // MSIE
-       document.write("<p>&nbsp;document.defaultCharset: " + (document.defaultCharset ? "defined" : "undefined") + "</p>");    // MSIE
-       document.write("<p>&nbsp;document.characterSet: " + document.characterSet + "</p>");    // Firefox
-       document.write("<p>&nbsp;document.inputEncoding: " + document.inputEncoding + "</p>");  // DOM3
-       
-       document.write("<p>Setting charset to UTF-8...</p>");
-       try {
-               document.charset = "utf-8";
-               document.write("<p>&nbsp;document.charset: " + document.charset + "</p>");
-               document.write("<p>&nbsp;document.defaultCharset: " + (document.defaultCharset ? "defined" : "undefined") + "</p>");
-               document.write("<p>&nbsp;document.characterSet: " + document.characterSet + "</p>");
-               document.write("<p>&nbsp;document.inputEncoding: " + document.inputEncoding + "</p>");
-       } catch (ex) {
-               document.write("<p>Failure</p>");
-       }
-       
-       // throws an exception in Firefox, but JavaScriptCore seems to silently ignore assignment to read-only properties
-       document.write("<p>Setting characterSet to KOI8-R (expected to fail, matching Firefox)...</p>");
-       try {
-               document.characterSet = "KOI8-R";
-               document.write("<p>&nbsp;document.charset: " + document.charset + "</p>");
-               document.write("<p>&nbsp;document.defaultCharset: " + (document.defaultCharset ? "defined" : "undefined") + "</p>");
-               document.write("<p>&nbsp;document.characterSet: " + document.characterSet + "</p>");
-               document.write("<p>&nbsp;document.inputEncoding: " + document.inputEncoding + "</p>");
-       } catch (ex) {
-               document.write("<p>Failure (expected)</p>");
-       }
+if (window.layoutTestController)
+    layoutTestController.dumpAsText();
+
+document.write("<p>Initial</p>");
+document.write("<p>&nbsp;document.charset: " + document.charset + "</p>"); // MSIE
+document.write("<p>&nbsp;document.defaultCharset: " + (document.defaultCharset ? "defined" : "undefined") + "</p>"); // MSIE
+document.write("<p>&nbsp;document.characterSet: " + document.characterSet + "</p>"); // Firefox
+document.write("<p>&nbsp;document.inputEncoding: " + document.inputEncoding + "</p>"); // DOM3
+
+document.write("<p>Setting charset to UTF-8...</p>");
+try {
+    document.charset = "utf-8";
+    document.write("<p>&nbsp;document.charset: " + document.charset + "</p>");
+    document.write("<p>&nbsp;document.defaultCharset: " + (document.defaultCharset ? "defined" : "undefined") + "</p>");
+    document.write("<p>&nbsp;document.characterSet: " + document.characterSet + "</p>");
+    document.write("<p>&nbsp;document.inputEncoding: " + document.inputEncoding + "</p>");
+} catch (ex) {
+    document.write("<p>Failure</p>");
+}
+
+// throws an exception in Firefox, but JavaScriptCore seems to silently ignore assignment to read-only properties
+document.write("<p>Setting characterSet to KOI8-R (expected to fail, matching Firefox)...</p>");
+try {
+    document.characterSet = "KOI8-R";
+    document.write("<p>&nbsp;document.charset: " + document.charset + "</p>");
+    document.write("<p>&nbsp;document.defaultCharset: " + (document.defaultCharset ? "defined" : "undefined") + "</p>");
+    document.write("<p>&nbsp;document.characterSet: " + document.characterSet + "</p>");
+    document.write("<p>&nbsp;document.inputEncoding: " + document.inputEncoding + "</p>");
+} catch (ex) {
+    document.write("<p>Failure (expected)</p>");
+}
 
 </script>
 </body>
index 954790e0d4c1026d51d2c9bbefca523e785b4877..69ddbb1ef1c2c86e0bd5fd43ea9dd8f229b343cf 100644 (file)
@@ -7,3 +7,5 @@ Stylesheet 2 (inherit document charset using link): SUССЕSS
 Stylesheet 3 (inherit referring stylesheet charset): SUССЕSS
 
 Stylesheet 4 (inherit referring inline stylesheet charset): SUССЕSS
+
+Stylesheet 5 (inherit document charset using link after document.charset was set): SUССЕSS
index 24432f2ed4eb090e484318a4a7110639cdb74350..87a6d68f8e5036c911183f5bf45179fb53d0a4ef 100644 (file)
@@ -10,6 +10,8 @@
     <style type="text/css">
         @import "css-charset-inherit-iso-8859-5.css?4";
     </style>
+    <script>document.charset = "koi8-r";</script>
+    <link rel="stylesheet" type="text/css" href="css-charset-inherit-koi-8.css?2"/>
 </head>
 <body onload="test()">
 <p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=11011">bug 11011</a>:
@@ -19,6 +21,7 @@ External CSS is parsed as iso-8859-1 even though the main document is utf-8.</p>
 <p id="res2">Stylesheet 2 (inherit document charset using link): </p>
 <p id="res3">Stylesheet 3 (inherit referring stylesheet charset): </p>
 <p id="res4">Stylesheet 4 (inherit referring inline stylesheet charset): </p>
+<p id="res5">Stylesheet 5 (inherit document charset using link after document.charset was set): </p>
 
 <script type="text/javascript">
 if (window.layoutTestController)
@@ -33,6 +36,8 @@ function test() {
     document.getElementById("res3").innerHTML += document.styleSheets[2].cssRules[1].styleSheet.cssRules[0].style.content;
 
     document.getElementById("res4").innerHTML += document.styleSheets[3].cssRules[0].styleSheet.cssRules[0].style.content;
+
+    document.getElementById("res5").innerHTML += document.styleSheets[4].cssRules[0].style.content;
   } catch (ex) {
     alert(ex.toString());
   }
index 6575759e9614740d4625ccb30dfbb6e4e2819ef9..0b4c6df920608387c7abcdbb5285dd877e329d63 100644 (file)
@@ -1,3 +1,5 @@
 Test that external scripts in XHTML documents inherit document charset.
 
-PASS
+Javascript 1 (original document charset): PASS
+
+Javascript 2 (after document.charset was set): PASS
diff --git a/LayoutTests/fast/encoding/external-script-charset-koi-8.js b/LayoutTests/fast/encoding/external-script-charset-koi-8.js
new file mode 100644 (file)
index 0000000..141c931
--- /dev/null
@@ -0,0 +1 @@
+document.getElementById("result2").innerHTML += ("ó" == "\u0421") ? "PASS" : "FAIL";
index 841824d1b7923ec2400559b19042eda916e5c913..a8306cb65c115ead10545c9fc9341c5ccb709d46 100644 (file)
@@ -1,4 +1,4 @@
 if (window.layoutTestController)
     layoutTestController.dumpAsText();
 
-document.getElementById("result").innerHTML = ("Я" == "\u042F") ? "PASS" : "FAIL";
\ No newline at end of file
+document.getElementById("result1").innerHTML += ("Я" == "\u042F") ? "PASS" : "FAIL";
index d89b9d6ea3132f6b710d497ab332b72cbe47c453..f6e8bf3338331ac8a191bfd65fe24ae7092a1a7f 100644 (file)
@@ -1,7 +1,10 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" dir="ltr">
 <body>
     <p>Test that external scripts in XHTML documents inherit document charset.</p>
-    <div id="result"></div>
+    <p id="result1">Javascript 1 (original document charset): </p>
+    <p id="result2">Javascript 2 (after document.charset was set): </p>
     <script type="text/javascript" src="external-script-charset.js"></script>
+    <script>document.charset = "koi8-r";</script>
+    <script type="text/javascript" src="external-script-charset-koi-8.js"></script>
 </body>
 </html>