<!DOCTYPE html>
<title>SVGSVGElement no-op methods</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
test(function() {
  var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");

  assert_equals(svg.suspendRedraw.length, 1);
  assert_throws_js(TypeError, function() {
    svg.suspendRedraw();
  });
  svg.suspendRedraw(0);

  assert_equals(svg.unsuspendRedraw.length, 1);
  assert_throws_js(TypeError, function() {
    svg.unsuspendRedraw();
  });
  svg.unsuspendRedraw(0);

  assert_equals(svg.unsuspendRedrawAll.length, 0);
  svg.unsuspendRedrawAll();

  assert_equals(svg.forceRedraw.length, 0);
  svg.forceRedraw();
});
</script>
