Index: LayoutTests/fast/svg/whitespace-number.html |
diff --git a/LayoutTests/fast/svg/whitespace-number.html b/LayoutTests/fast/svg/whitespace-number.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6031381cf250d7c648507278a806dacc55fa7c5a |
--- /dev/null |
+++ b/LayoutTests/fast/svg/whitespace-number.html |
@@ -0,0 +1,49 @@ |
+<!doctype html> |
+<title>Whitespace in attribute values tests</title> |
+<script src=../../resources/testharness.js></script> |
+<script src=../../resources/testharnessreport.js></script> |
+<script src=resources/whitespace-helper.js></script> |
+<svg id="testcontainer"> |
+ <defs> |
+ <marker/> |
+ <stop/> |
+ <filter> |
+ <feTurbulence></feTurbulence> |
+ </filter> |
+ </defs> |
+</svg> |
+<div id=log></div> |
+<script> |
+var svg = document.querySelector("svg"); |
+ |
+// test length values |
+var EPSILON = Math.pow(2, -24); // float epsilon |
+var whitespace = [ "", " ", " ", "\r\n\t ", "\f" ]; |
+var garbage = [ "a", "e", "foo", ")90" ]; |
+var validunits = [ "", "em", "ex", "px", "in", "cm", "mm", "pt", "pc", "%" ]; |
+ |
+testType("<number>", |
+ document.querySelector("stop"), |
+ "offset", |
+ 0, // expected default value |
+ whitespace, |
+ [ "-47", ".1", "0.35", "1e-10", "+32", "+17E-1", "17e+2" ], // valid |
+ [ Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, "fnord", "E", "e", "e+", "E-", "-", "+", "-.", ".-", ".", "+.", ".E0", "e1" ], // invalid |
+ [ "" ], // valid units |
+ garbage, |
+ function(elm, value) { assert_approx_equals(elm.offset.baseVal, parseFloat(value), EPSILON); }, |
+ function(elm, expected) { assert_approx_equals(elm.offset.baseVal, expected, EPSILON); } ); |
+ |
+testType("<percentage>", |
+ document.querySelector("stop"), |
+ "offset", |
+ 0, // expected default value |
+ whitespace, |
+ [ "-47", ".1", "0.35", "1e-10", "+32", "+17E-1", "17e+2" ], // valid |
+ [ Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, "fnord", "E", "e", "e+", "E-", "-", "+", "-.", ".-", ".", "+.", ".E0", "e1" ], // invalid |
+ [ "%" ], // valid units |
+ garbage, |
+ function(elm, value) { assert_approx_equals(elm.offset.baseVal, parseFloat(value)/ 100, EPSILON); }, |
+ function(elm, expected) { assert_approx_equals(elm.offset.baseVal, expected, EPSILON); } ); |
+ |
+</script> |