<html>
<head>
<style></style>
</head>
<body>
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=15649">bug 15649</a>:
Empty STYLE elements are not reflected into the document.styleSheets object.</p>
<script>
  if (window.testRunner)
    testRunner.dumpAsText();
  document.getElementsByTagName('head')[0].appendChild(document.createElement("style"));
  document.write(document.styleSheets.length == 2 ? "SUCCESS" : "FAILURE: " + document.styleSheets.length + " stylesheets");
</script>
</body>
</html>
