<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" href="resources/basic.css" type="text/css">
  <link rel="stylesheet" href="resources/small.css" type="text/css">
  <link rel="stylesheet" href="resources/normal.css" title="Different layout" type="text/css">
  <link rel="alternate stylesheet" href="resources/high.css" type="text/css">
  <script src="../../resources/js-test-pre.js"></script>
</head>
<body>
  <h1 id="firstH1">Alternate stylesheets</h1>
  
  <p id="textLine">This document has 3 stylesheets, one with a title, and 1 alternate stylesheet. It should:</p>
  
  <ul>
    <li>Have a green border at the top of the page</li>
    <li>An underlined <code>H1</code></li>
    <li>12px text</li>
  </ul>

  <script>
    description("Alternate stylesheet (link) title test 5");

    if (window.testRunner)
      testRunner.dumpAsText();

    window.onload = function () {
      element = document.getElementById("firstH1");
      shouldBe("getComputedStyle(element).getPropertyValue('text-decoration')", "'underline'");

      element = document.getElementById("textLine");
      shouldBe("getComputedStyle(element).getPropertyValue('font-size')", "'12px'");

      shouldBe("getComputedStyle(document.body).getPropertyValue('border-top-color')", "'rgb(0, 128, 0)'");
      wasPostTestScriptParsed = true;
      finishJSTest();
    }
  </script>

</body>
</html>
