Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: tests/html/svgelement_test.dart

Issue 11364186: Dartifying SVG library class names. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Syncing to latest, updating for style guide. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/html/svg_3_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library SVGElementTest; 5 library SvgElementTest;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_individual_config.dart'; 7 import '../../pkg/unittest/lib/html_individual_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'dart:svg'; 9 import 'dart:svg' as svg;
10 10
11 main() { 11 main() {
12 useHtmlIndividualConfiguration(); 12 useHtmlIndividualConfiguration();
13 13
14 var isSVGSVGElement = 14 var isSvgSvgElement =
15 predicate((x) => x is SVGSVGElement, 'is a SVGSVGElement'); 15 predicate((x) => x is svg.SvgSvgElement, 'is a SvgSvgElement');
16 16
17 Collection<String> _nodeStrings(Collection<Node> input) { 17 Collection<String> _nodeStrings(Collection<Node> input) {
18 final out = new List<String>(); 18 final out = new List<String>();
19 for (Node n in input) { 19 for (Node n in input) {
20 if (n is Element) { 20 if (n is Element) {
21 Element e = n; 21 Element e = n;
22 out.add(e.tagName); 22 out.add(e.tagName);
23 } else { 23 } else {
24 out.add(n.text); 24 out.add(n.text);
25 } 25 }
26 } 26 }
27 return out; 27 return out;
28 }; 28 };
29 29
30 testConstructor(String tagName, Function isExpectedClass) { 30 testConstructor(String tagName, Function isExpectedClass) {
31 test(tagName, () { 31 test(tagName, () {
32 expect(isExpectedClass(new SVGElement.tag(tagName)), isTrue); 32 expect(isExpectedClass(new svg.SvgElement.tag(tagName)), isTrue);
33 expect(isExpectedClass( 33 expect(isExpectedClass(
34 new SVGElement.svg('<$tagName></$tagName>')), isTrue); 34 new svg.SvgElement.svg('<$tagName></$tagName>')), isTrue);
35 }); 35 });
36 } 36 }
37 group('additionalConstructors', () { 37 group('additionalConstructors', () {
38 group('svg', () { 38 group('svg', () {
39 test('valid', () { 39 test('valid', () {
40 final svg = """ 40 final svgContent = """
41 <svg version="1.1"> 41 <svg version="1.1">
42 <circle></circle> 42 <circle></circle>
43 <path></path> 43 <path></path>
44 </svg>"""; 44 </svg>""";
45 final el = new SVGElement.svg(svg); 45 final el = new svg.SvgElement.svg(svgContent);
46 expect(el, isSVGSVGElement); 46 expect(el, isSvgSvgElement);
47 expect(el.innerHTML, "<circle></circle><path></path>"); 47 expect(el.innerHTML, "<circle></circle><path></path>");
48 expect(el.outerHTML, svg); 48 expect(el.outerHTML, svgContent);
49 }); 49 });
50 50
51 test('has no parent', () => 51 test('has no parent', () =>
52 expect(new SVGElement.svg('<circle/>').parent, isNull) 52 expect(new svg.SvgElement.svg('<circle/>').parent, isNull)
53 ); 53 );
54 54
55 test('empty', () { 55 test('empty', () {
56 expect(() => new SVGElement.svg(""), throwsArgumentError); 56 expect(() => new svg.SvgElement.svg(""), throwsArgumentError);
57 }); 57 });
58 58
59 test('too many elements', () { 59 test('too many elements', () {
60 expect(() => new SVGElement.svg("<circle></circle><path></path>"), 60 expect(() => new svg.SvgElement.svg("<circle></circle><path></path>"),
61 throwsArgumentError); 61 throwsArgumentError);
62 }); 62 });
63 }); 63 });
64 testConstructor('altGlyphDef', (e) => e is SVGAltGlyphDefElement); 64 testConstructor('altGlyphDef', (e) => e is svg.AltGlyphDefElement);
65 testConstructor('altGlyph', (e) => e is SVGAltGlyphElement); 65 testConstructor('altGlyph', (e) => e is svg.AltGlyphElement);
66 testConstructor('animateColor', (e) => e is SVGAnimateColorElement); 66 testConstructor('animateColor', (e) => e is svg.AnimateColorElement);
67 testConstructor('animate', (e) => e is SVGAnimateElement); 67 testConstructor('animate', (e) => e is svg.AnimateElement);
68 // WebKit doesn't recognize animateMotion 68 // WebKit doesn't recognize animateMotion
69 // testConstructor('animateMotion', (e) => e is SVGAnimateMotionElement); 69 // testConstructor('animateMotion', (e) => e is svg.AnimateMotionElement);
70 testConstructor('animateTransform', (e) => e is SVGAnimateTransformElement); 70 testConstructor('animateTransform', (e) => e is svg.AnimateTransformElement) ;
71 testConstructor('cursor', (e) => e is SVGCursorElement); 71 testConstructor('cursor', (e) => e is svg.CursorElement);
72 testConstructor('feBlend', (e) => e is SVGFEBlendElement); 72 testConstructor('feBlend', (e) => e is svg.FEBlendElement);
73 testConstructor('feColorMatrix', (e) => e is SVGFEColorMatrixElement); 73 testConstructor('feColorMatrix', (e) => e is svg.FEColorMatrixElement);
74 testConstructor('feComponentTransfer', 74 testConstructor('feComponentTransfer',
75 (e) => e is SVGFEComponentTransferElement); 75 (e) => e is svg.FEComponentTransferElement);
76 testConstructor('feConvolveMatrix', (e) => e is SVGFEConvolveMatrixElement); 76 testConstructor('feConvolveMatrix', (e) => e is svg.FEConvolveMatrixElement) ;
77 testConstructor('feDiffuseLighting', 77 testConstructor('feDiffuseLighting',
78 (e) => e is SVGFEDiffuseLightingElement); 78 (e) => e is svg.FEDiffuseLightingElement);
79 testConstructor('feDisplacementMap', 79 testConstructor('feDisplacementMap',
80 (e) => e is SVGFEDisplacementMapElement); 80 (e) => e is svg.FEDisplacementMapElement);
81 testConstructor('feDistantLight', (e) => e is SVGFEDistantLightElement); 81 testConstructor('feDistantLight', (e) => e is svg.FEDistantLightElement);
82 testConstructor('feDropShadow', (e) => e is SVGFEDropShadowElement); 82 testConstructor('feDropShadow', (e) => e is svg.FEDropShadowElement);
83 testConstructor('feFlood', (e) => e is SVGFEFloodElement); 83 testConstructor('feFlood', (e) => e is svg.FEFloodElement);
84 testConstructor('feFuncA', (e) => e is SVGFEFuncAElement); 84 testConstructor('feFuncA', (e) => e is svg.FEFuncAElement);
85 testConstructor('feFuncB', (e) => e is SVGFEFuncBElement); 85 testConstructor('feFuncB', (e) => e is svg.FEFuncBElement);
86 testConstructor('feFuncG', (e) => e is SVGFEFuncGElement); 86 testConstructor('feFuncG', (e) => e is svg.FEFuncGElement);
87 testConstructor('feFuncR', (e) => e is SVGFEFuncRElement); 87 testConstructor('feFuncR', (e) => e is svg.FEFuncRElement);
88 testConstructor('feGaussianBlur', (e) => e is SVGFEGaussianBlurElement); 88 testConstructor('feGaussianBlur', (e) => e is svg.FEGaussianBlurElement);
89 testConstructor('feImage', (e) => e is SVGFEImageElement); 89 testConstructor('feImage', (e) => e is svg.FEImageElement);
90 testConstructor('feMerge', (e) => e is SVGFEMergeElement); 90 testConstructor('feMerge', (e) => e is svg.FEMergeElement);
91 testConstructor('feMergeNode', (e) => e is SVGFEMergeNodeElement); 91 testConstructor('feMergeNode', (e) => e is svg.FEMergeNodeElement);
92 testConstructor('feOffset', (e) => e is SVGFEOffsetElement); 92 testConstructor('feOffset', (e) => e is svg.FEOffsetElement);
93 testConstructor('fePointLight', (e) => e is SVGFEPointLightElement); 93 testConstructor('fePointLight', (e) => e is svg.FEPointLightElement);
94 testConstructor('feSpecularLighting', 94 testConstructor('feSpecularLighting',
95 (e) => e is SVGFESpecularLightingElement); 95 (e) => e is svg.FESpecularLightingElement);
96 testConstructor('feSpotLight', (e) => e is SVGFESpotLightElement); 96 testConstructor('feSpotLight', (e) => e is svg.FESpotLightElement);
97 testConstructor('feTile', (e) => e is SVGFETileElement); 97 testConstructor('feTile', (e) => e is svg.FETileElement);
98 testConstructor('feTurbulence', (e) => e is SVGFETurbulenceElement); 98 testConstructor('feTurbulence', (e) => e is svg.FETurbulenceElement);
99 testConstructor('filter', (e) => e is SVGFilterElement); 99 testConstructor('filter', (e) => e is svg.FilterElement);
100 testConstructor('font', (e) => e is SVGFontElement); 100 testConstructor('font', (e) => e is svg.FontElement);
101 testConstructor('font-face', (e) => e is SVGFontFaceElement); 101 testConstructor('font-face', (e) => e is svg.FontFaceElement);
102 testConstructor('font-face-format', (e) => e is SVGFontFaceFormatElement); 102 testConstructor('font-face-format', (e) => e is svg.FontFaceFormatElement);
103 testConstructor('font-face-name', (e) => e is SVGFontFaceNameElement); 103 testConstructor('font-face-name', (e) => e is svg.FontFaceNameElement);
104 testConstructor('font-face-src', (e) => e is SVGFontFaceSrcElement); 104 testConstructor('font-face-src', (e) => e is svg.FontFaceSrcElement);
105 testConstructor('font-face-uri', (e) => e is SVGFontFaceUriElement); 105 testConstructor('font-face-uri', (e) => e is svg.FontFaceUriElement);
106 testConstructor('foreignObject', (e) => e is SVGForeignObjectElement); 106 testConstructor('foreignObject', (e) => e is svg.ForeignObjectElement);
107 testConstructor('glyph', (e) => e is SVGGlyphElement); 107 testConstructor('glyph', (e) => e is svg.GlyphElement);
108 testConstructor('glyphRef', (e) => e is SVGGlyphRefElement); 108 testConstructor('glyphRef', (e) => e is svg.GlyphRefElement);
109 testConstructor('metadata', (e) => e is SVGMetadataElement); 109 testConstructor('metadata', (e) => e is svg.MetadataElement);
110 testConstructor('missing-glyph', (e) => e is SVGMissingGlyphElement); 110 testConstructor('missing-glyph', (e) => e is svg.MissingGlyphElement);
111 testConstructor('set', (e) => e is SVGSetElement); 111 testConstructor('set', (e) => e is svg.SetElement);
112 testConstructor('tref', (e) => e is SVGTRefElement); 112 testConstructor('tref', (e) => e is svg.TRefElement);
113 testConstructor('vkern', (e) => e is SVGVKernElement); 113 testConstructor('vkern', (e) => e is svg.VKernElement);
114 }); 114 });
115 115
116 group('constructors', () { 116 group('constructors', () {
117 testConstructor('a', (e) => e is SVGAElement); 117 testConstructor('a', (e) => e is svg.AElement);
118 testConstructor('circle', (e) => e is SVGCircleElement); 118 testConstructor('circle', (e) => e is svg.CircleElement);
119 testConstructor('clipPath', (e) => e is SVGClipPathElement); 119 testConstructor('clipPath', (e) => e is svg.ClipPathElement);
120 testConstructor('defs', (e) => e is SVGDefsElement); 120 testConstructor('defs', (e) => e is svg.DefsElement);
121 testConstructor('desc', (e) => e is SVGDescElement); 121 testConstructor('desc', (e) => e is svg.DescElement);
122 testConstructor('ellipse', (e) => e is SVGEllipseElement); 122 testConstructor('ellipse', (e) => e is svg.EllipseElement);
123 testConstructor('g', (e) => e is SVGGElement); 123 testConstructor('g', (e) => e is svg.GElement);
124 // WebKit doesn't recognize hkern 124 // WebKit doesn't recognize hkern
125 // testConstructor('hkern', (e) => e is SVGHKernElement); 125 // testConstructor('hkern', (e) => e is svg.HKernElement);
126 testConstructor('image', (e) => e is SVGImageElement); 126 testConstructor('image', (e) => e is svg.ImageElement);
127 testConstructor('line', (e) => e is SVGLineElement); 127 testConstructor('line', (e) => e is svg.LineElement);
128 testConstructor('linearGradient', (e) => e is SVGLinearGradientElement); 128 testConstructor('linearGradient', (e) => e is svg.LinearGradientElement);
129 // WebKit doesn't recognize mpath 129 // WebKit doesn't recognize mpath
130 // testConstructor('mpath', (e) => e is SVGMPathElement); 130 // testConstructor('mpath', (e) => e is svg.MPathElement);
131 testConstructor('marker', (e) => e is SVGMarkerElement); 131 testConstructor('marker', (e) => e is svg.MarkerElement);
132 testConstructor('mask', (e) => e is SVGMaskElement); 132 testConstructor('mask', (e) => e is svg.MaskElement);
133 testConstructor('path', (e) => e is SVGPathElement); 133 testConstructor('path', (e) => e is svg.PathElement);
134 testConstructor('pattern', (e) => e is SVGPatternElement); 134 testConstructor('pattern', (e) => e is svg.PatternElement);
135 testConstructor('polygon', (e) => e is SVGPolygonElement); 135 testConstructor('polygon', (e) => e is svg.PolygonElement);
136 testConstructor('polyline', (e) => e is SVGPolylineElement); 136 testConstructor('polyline', (e) => e is svg.PolylineElement);
137 testConstructor('radialGradient', (e) => e is SVGRadialGradientElement); 137 testConstructor('radialGradient', (e) => e is svg.RadialGradientElement);
138 testConstructor('rect', (e) => e is SVGRectElement); 138 testConstructor('rect', (e) => e is svg.RectElement);
139 testConstructor('script', (e) => e is SVGScriptElement); 139 testConstructor('script', (e) => e is svg.ScriptElement);
140 testConstructor('stop', (e) => e is SVGStopElement); 140 testConstructor('stop', (e) => e is svg.StopElement);
141 testConstructor('style', (e) => e is SVGStyleElement); 141 testConstructor('style', (e) => e is svg.StyleElement);
142 testConstructor('switch', (e) => e is SVGSwitchElement); 142 testConstructor('switch', (e) => e is svg.SwitchElement);
143 testConstructor('symbol', (e) => e is SVGSymbolElement); 143 testConstructor('symbol', (e) => e is svg.SymbolElement);
144 testConstructor('tspan', (e) => e is SVGTSpanElement); 144 testConstructor('tspan', (e) => e is svg.TSpanElement);
145 testConstructor('text', (e) => e is SVGTextElement); 145 testConstructor('text', (e) => e is svg.TextElement);
146 testConstructor('textPath', (e) => e is SVGTextPathElement); 146 testConstructor('textPath', (e) => e is svg.TextPathElement);
147 testConstructor('title', (e) => e is SVGTitleElement); 147 testConstructor('title', (e) => e is svg.TitleElement);
148 testConstructor('use', (e) => e is SVGUseElement); 148 testConstructor('use', (e) => e is svg.UseElement);
149 testConstructor('view', (e) => e is SVGViewElement); 149 testConstructor('view', (e) => e is svg.ViewElement);
150 }); 150 });
151 151
152 group('outerHTML', () { 152 group('outerHTML', () {
153 test('outerHTML', () { 153 test('outerHTML', () {
154 final el = new SVGSVGElement(); 154 final el = new svg.SvgSvgElement();
155 el.elements.add(new SVGCircleElement()); 155 el.elements.add(new svg.CircleElement());
156 el.elements.add(new SVGPathElement()); 156 el.elements.add(new svg.PathElement());
157 expect(el.outerHTML, 157 expect(el.outerHTML,
158 '<svg version="1.1"><circle></circle><path></path></svg>'); 158 '<svg version="1.1"><circle></circle><path></path></svg>');
159 }); 159 });
160 }); 160 });
161 161
162 group('innerHTML', () { 162 group('innerHTML', () {
163 test('get', () { 163 test('get', () {
164 final el = new SVGSVGElement(); 164 final el = new svg.SvgSvgElement();
165 el.elements.add(new SVGCircleElement()); 165 el.elements.add(new svg.CircleElement());
166 el.elements.add(new SVGPathElement()); 166 el.elements.add(new svg.PathElement());
167 expect(el.innerHTML, '<circle></circle><path></path>'); 167 expect(el.innerHTML, '<circle></circle><path></path>');
168 }); 168 });
169 169
170 test('set', () { 170 test('set', () {
171 final el = new SVGSVGElement(); 171 final el = new svg.SvgSvgElement();
172 el.elements.add(new SVGCircleElement()); 172 el.elements.add(new svg.CircleElement());
173 el.elements.add(new SVGPathElement()); 173 el.elements.add(new svg.PathElement());
174 el.innerHTML = '<rect></rect><a></a>'; 174 el.innerHTML = '<rect></rect><a></a>';
175 expect(_nodeStrings(el.elements), ["rect", "a"]); 175 expect(_nodeStrings(el.elements), ["rect", "a"]);
176 }); 176 });
177 }); 177 });
178 178
179 group('elementget', () { 179 group('elementget', () {
180 test('get', () { 180 test('get', () {
181 final el = new SVGElement.svg(""" 181 final el = new svg.SvgElement.svg("""
182 <svg version="1.1"> 182 <svg version="1.1">
183 <circle></circle> 183 <circle></circle>
184 <path></path> 184 <path></path>
185 text 185 text
186 </svg>"""); 186 </svg>""");
187 expect(_nodeStrings(el.elements), ["circle", "path"]); 187 expect(_nodeStrings(el.elements), ["circle", "path"]);
188 }); 188 });
189 }); 189 });
190 190
191 group('elementset', () { 191 group('elementset', () {
192 test('set', () { 192 test('set', () {
193 final el = new SVGSVGElement(); 193 final el = new svg.SvgSvgElement();
194 el.elements = [new SVGElement.tag("circle"), new SVGElement.tag("path")]; 194 el.elements = [new svg.SvgElement.tag("circle"), new svg.SvgElement.tag("p ath")];
195 expect(el.innerHTML, '<circle></circle><path></path>'); 195 expect(el.innerHTML, '<circle></circle><path></path>');
196 }); 196 });
197 }); 197 });
198 198
199 group('css', () { 199 group('css', () {
200 test('classes', () { 200 test('classes', () {
201 var el = new SVGElement.tag("circle"); 201 var el = new svg.CircleElement();
202 var classes = el.classes; 202 var classes = el.classes;
203 expect(el.classes.length, 0); 203 expect(el.classes.length, 0);
204 classes.toggle('foo'); 204 classes.toggle('foo');
205 expect(el.classes.length, 1); 205 expect(el.classes.length, 1);
206 classes.toggle('foo'); 206 classes.toggle('foo');
207 expect(el.classes.length, 0); 207 expect(el.classes.length, 0);
208 }); 208 });
209 }); 209 });
210 } 210 }
OLDNEW
« no previous file with comments | « tests/html/svg_3_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698