<!doctype html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
<html>
  <head>
    <title>mstyle css attributes</title>
    <meta charset="utf-8"/>
    <script type="text/javascript">
      function computeCSS(i, property)
      {
        var mstyle = document.getElementById('x'+i);
        var text = document.createTextNode(window.getComputedStyle(mstyle)[property]);
        mstyle.firstChild.appendChild(text);
      }

      function init()
      {
        computeCSS(1, 'backgroundColor');
        computeCSS(2, 'fontSize');
        computeCSS(3, 'color');
        computeCSS(4, 'fontSize');
        computeCSS(5, 'backgroundColor');
        computeCSS(6, 'color');
        computeCSS(7, 'fontStyle');
        computeCSS(8, 'fontWeight');
        computeCSS(9, 'fontFamily');
        computeCSS(10, 'direction');
      }
    </script>
  </head>
  <body onload="init()">

    <!-- These test CSS mapping of presentation attributes on the <mstyle> element. -->

    <p><math><mstyle id="x1" mathbackground="red"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x2" mathsize="32px"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x3" mathcolor="green"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x4" fontsize="64px"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x5" background="blue"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x6" color="magenta"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x7" fontstyle="italic"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x8" fontweight="bold"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x9" fontfamily="courier"><mtext></mtext></mstyle></math></p>
    <p><math><mstyle id="x10" dir="rtl"><mtext></mtext><mspace width="5em"/></mstyle></math></p>

  </body>
</html>
