<!--
     Any copyright is dedicated to the Public Domain.
     http://creativecommons.org/publicdomain/zero/1.0/
-->
<svg xmlns="http://www.w3.org/2000/svg" onload="m();">

<title>Testcase for style changes</title>

<!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=395155 -->

<style id="s" type="text/css">
tspan { fill: red; }
</style>

<script>
function m()
{
  var s = document.getElementById("s");
  s.appendChild(document.createTextNode("tspan { fill: green }"));
  s.appendChild(document.createTextNode("tspan { fill: red }"));
  s.removeChild(s.lastChild);
}
</script>

<text>
  <tspan x="10" y="50">
    This should be green
  </tspan>
</text>

</svg>
