| <!DOCTYPE HTML> |
| <title>SVGAnimatedLength interface - utilizing the width property of SVGRectElement</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| test(function() { |
| // This test checks the SVGAnimatedLength API - utilizing the width property of SVGRectElement. |
| |
| var rectElement = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
| |
| // Check initial width value. |
| assert_true(rectElement.width instanceof SVGAnimatedLength); |
| assert_true(rectElement.width.baseVal instanceof SVGLength); |
| assert_equals(rectElement.width.baseVal.value, 0); |
| |
| // Check that lengths are dynamic, caching value in a local variable and modifying it, should take effect. |
| var numRef = rectElement.width.baseVal; |
| numRef.value = 100; |
| assert_equals(numRef.value, 100); |
| assert_equals(rectElement.width.baseVal.value, 100); |
| |
| // Check that assigning to baseVal has no effect, as no setter is defined. |
| rectElement.width.baseVal = -1; |
| assert_equals(rectElement.width.baseVal.value, 100); |
| rectElement.width.baseVal = 'aString'; |
| assert_equals(rectElement.width.baseVal.value, 100); |
| rectElement.width.baseVal = rectElement; |
| assert_equals(rectElement.width.baseVal.value, 100); |
| |
| // Check that the width baseVal type has not been changed. |
| assert_true(rectElement.width.baseVal instanceof SVGLength); |
| }); |
| </script> |