<html>
<head>
    <meta content="text/html; charset=windows-1251" http-equiv="Content-Type"/>
    <link rel="stylesheet" type="text/css" href="css-charset-evil.css">
</head>
<body onload="test()">
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=10155">bug 10155</a>:
CSS2: @charset is not supported</p>

<p>CSS 2.1 says that <code>@charset "</code> must be written literally, 
but Firefox and IE allow extra spaces and single quotes.</p>

<p id="result"></p>

<script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();

function test() {
  try {
    text = document.styleSheets[0].rules[0].style.getPropertyValue("content");
    text = text.replace(/"/g, "");
    document.getElementById("result").textContent = text;
  } catch (ex) {
    document.getElementById("result").textContent = ex.toString();
  }
}
</script>

</body>
</html>
