OLD | NEW |
| (Empty) |
1 library SVG2Test; | |
2 import '../../pkg/unittest/lib/unittest.dart'; | |
3 import '../../pkg/unittest/lib/html_config.dart'; | |
4 import 'dart:html'; | |
5 import 'dart:svg' as svg; | |
6 | |
7 // Test that SVG elements explicitly implement the IDL interfaces (is-checks | |
8 // only, see SVGTest3 for behavioural tests). | |
9 | |
10 main() { | |
11 | |
12 insertTestDiv() { | |
13 var element = new Element.tag('div'); | |
14 element.innerHtml = r''' | |
15 <svg id='svg1' width='200' height='100'> | |
16 <rect id='rect1' x='10' y='20' width='130' height='40' rx='5'fill='blue'></rect> | |
17 </svg> | |
18 '''; | |
19 document.body.nodes.add(element); | |
20 return element; | |
21 } | |
22 | |
23 useHtmlConfiguration(); | |
24 | |
25 var isElement = predicate((x) => x is Element, 'is an Element'); | |
26 var isSvgElement = predicate((x) => x is svg.SvgElement, 'is a SvgElement'); | |
27 var isSvgSvgElement = | |
28 predicate((x) => x is svg.SvgSvgElement, 'is a SvgSvgElement'); | |
29 var isNode = predicate((x) => x is Node, 'is a Node'); | |
30 var isSvgTests = predicate((x) => x is svg.Tests, 'is a svg.Tests'); | |
31 var isSvgLangSpace = predicate((x) => x is svg.LangSpace, 'is a svg.LangSpace'
); | |
32 var isSvgExternalResourcesRequired = | |
33 predicate((x) => x is svg.ExternalResourcesRequired, | |
34 'is a svg.ExternalResourcesRequired'); | |
35 var isSvgTransformable = | |
36 predicate((x) => x is svg.Transformable, 'is a svg.Transformable'); | |
37 var isSvgLocatable = | |
38 predicate((x) => x is svg.Locatable, 'is a svg.Locatable'); | |
39 var isSvgNumber = predicate((x) => x is svg.Number, 'is a svg.Number'); | |
40 var isSvgRect = predicate((x) => x is svg.Rect, 'is a svg.Rect'); | |
41 | |
42 test('rect_isChecks', () { | |
43 var div = insertTestDiv(); | |
44 var r = document.query('#rect1'); | |
45 | |
46 // Direct inheritance chain | |
47 expect(r, isSvgElement); | |
48 expect(r, isElement); | |
49 expect(r, isNode); | |
50 | |
51 // Other implemented interfaces. | |
52 expect(r, isSvgTests); | |
53 expect(r, isSvgLangSpace); | |
54 expect(r, isSvgExternalResourcesRequired); | |
55 expect(r, isSvgTransformable); | |
56 expect(r, isSvgLocatable); | |
57 | |
58 // Interfaces not implemented. | |
59 expect(r, isNot(isSvgNumber)); | |
60 expect(r, isNot(isSvgRect)); | |
61 expect(r, isNot(isSvgSvgElement)); | |
62 | |
63 div.remove(); | |
64 }); | |
65 } | |
OLD | NEW |