<!DOCTYPE html>
<html>
<script>
if (window.testRunner) {
  testRunner.waitUntilDone();
}
</script>
<body>
  <!-- Tests that changing the points on a non-scaling-stroke path correctly invalidates the path cache. -->
  <!-- On success, this test produces a green stroked square with a stroke width of 2. -->
  <svg width="200" height="200">
    <g transform="translate(5 5) scale(10 10)">
      <path id="editme" d="M 5 0 L 10 10 L 0 10 L 5 0" vector-effect="non-scaling-stroke" stroke-width="2" stroke="green" fill="none" />
    </g>
    <script>
      window.requestAnimationFrame(function() {
        var path = document.getElementById('editme');
        path.setAttribute('d', 'M 0 0 L 10 0 L 10 10 L 0 10 L 0 0');
        window.requestAnimationFrame(function() {
          if (window.testRunner)
            testRunner.notifyDone();
        })
      });
    </script>
  </svg>
</body>
</html>
