| /* |
| * Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| * for details. All rights reserved. Use of this source code is governed by a |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| /** |
| * @assertion |
| * @description Whitespace in <angle> attribute values |
| */ |
| import "dart:html"; |
| import "dart:math" as Math; |
| import "../../testharness.dart"; |
| import "resources/whitespace-helper.dart"; |
| |
| const String htmlEL2 = r''' |
| <svg id="testcontainer"> |
| <defs> |
| <marker/> |
| </defs> |
| </svg> |
| <div id=log></div> |
| '''; |
| |
| void main() { |
| document.body.setInnerHtml(htmlEL2, treeSanitizer: new NullTreeSanitizer()); |
| |
| var EPSILON = Math.pow(2, -24); // float epsilon |
| var whitespace = [ "", " ", " ", "\r\n\t ", "\f" ]; |
| var garbage = [ "a", "e", "foo", ")90" ]; |
| |
| testType("<angle>", |
| document.querySelector("marker"), |
| "orient", |
| 0, // expected default value |
| whitespace, |
| [ "-47", ".1", "0.35", "1e-10", "+32", "+17E-1", "17e+2" ], // valid |
| [ double.NAN, double.INFINITY, double.NEGATIVE_INFINITY, "fnord", "E", "e", "e+", "E-", "-", "+", "-.", ".-", ".", "+.", ".E0", "e1" ], // invalid |
| [ "", "deg", "rad", "grad" ], // valid units |
| garbage, |
| (elm, value) { |
| assert_approx_equals(elm.orientAngle.baseVal.valueInSpecifiedUnits, |
| double.parse(value), EPSILON); |
| }, |
| (elm, expected) { |
| assert_approx_equals(elm.orientAngle.baseVal.value, |
| expected, EPSILON); } |
| ); |
| |
| checkTestFailures(); |
| } |