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

Side by Side Diff: third_party/WebKit/LayoutTests/svg/animations/script-tests/svgpath-animation-1.js

Issue 1417593003: Use getAttribute in path animation tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months 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
OLDNEW
1 description("Test 'by' animation on path. You should see a green 100x100 path an d only PASS messages"); 1 description("Test 'by' animation on path. You should see a green 100x100 path an d only PASS messages");
2 createSVGTestCase(); 2 createSVGTestCase();
3 3
4 // Setup test document 4 // Setup test document
5 var path = createSVGElement("path"); 5 var path = createSVGElement("path");
6 path.setAttribute("id", "path"); 6 path.setAttribute("id", "path");
7 path.setAttribute("d", "M 40 40 L 60 40 L 60 60 L 40 60 z"); 7 path.setAttribute("d", "M 40 40 L 60 40 L 60 60 L 40 60 z");
8 path.setAttribute("fill", "green"); 8 path.setAttribute("fill", "green");
9 path.setAttribute("onclick", "executeTest()"); 9 path.setAttribute("onclick", "executeTest()");
10 10
11 var animate = createSVGElement("animate"); 11 var animate = createSVGElement("animate");
12 animate.setAttribute("id", "animation"); 12 animate.setAttribute("id", "animation");
13 animate.setAttribute("attributeName", "d"); 13 animate.setAttribute("attributeName", "d");
14 animate.setAttribute("from", "M 40 40 L 60 40 L 60 60 L 40 60 z"); 14 animate.setAttribute("from", "M 40 40 L 60 40 L 60 60 L 40 60 z");
15 animate.setAttribute("by", "M 0 0 L 100 0 L 100 100 L 0 100 z"); 15 animate.setAttribute("by", "M 0 0 L 100 0 L 100 100 L 0 100 z");
16 animate.setAttribute("begin", "click"); 16 animate.setAttribute("begin", "click");
17 animate.setAttribute("fill", "freeze"); 17 animate.setAttribute("fill", "freeze");
18 animate.setAttribute("dur", "4s"); 18 animate.setAttribute("dur", "4s");
19 path.appendChild(animate); 19 path.appendChild(animate);
20 rootSVGElement.appendChild(path); 20 rootSVGElement.appendChild(path);
21 21
22 // Setup animation test 22 // Setup animation test
23 function checkBaseVal() {
24 shouldBe("path.pathSegList.numberOfItems", "5");
25 shouldBeEqualToString("path.pathSegList.getItem(0).pathSegTypeAsLetter", "M" );
26 shouldBe("path.pathSegList.getItem(0).x", "40");
27 shouldBe("path.pathSegList.getItem(0).y", "40");
28 shouldBeEqualToString("path.pathSegList.getItem(1).pathSegTypeAsLetter", "L" );
29 shouldBe("path.pathSegList.getItem(1).x", "60");
30 shouldBe("path.pathSegList.getItem(1).y", "40");
31 shouldBeEqualToString("path.pathSegList.getItem(2).pathSegTypeAsLetter", "L" );
32 shouldBe("path.pathSegList.getItem(2).x", "60");
33 shouldBe("path.pathSegList.getItem(2).y", "60");
34 shouldBeEqualToString("path.pathSegList.getItem(3).pathSegTypeAsLetter", "L" );
35 shouldBe("path.pathSegList.getItem(3).x", "40");
36 shouldBe("path.pathSegList.getItem(3).y", "60");
37 shouldBeEqualToString("path.pathSegList.getItem(4).pathSegTypeAsLetter", "Z" );
38 }
39
40 function sample1() { 23 function sample1() {
41 shouldBe("path.animatedPathSegList.numberOfItems", "5"); 24 shouldBeEqualToString("path.getAttribute('d')", "M 40 40 L 60 40 L 60 60 L 4 0 60 z");
42 shouldBeEqualToString("path.animatedPathSegList.getItem(0).pathSegTypeAsLett er", "M");
43 shouldBeCloseEnough("path.animatedPathSegList.getItem(0).x", "40");
44 shouldBeCloseEnough("path.animatedPathSegList.getItem(0).y", "40");
45 shouldBeEqualToString("path.animatedPathSegList.getItem(1).pathSegTypeAsLett er", "L");
46 shouldBeCloseEnough("path.animatedPathSegList.getItem(1).x", "60");
47 shouldBeCloseEnough("path.animatedPathSegList.getItem(1).y", "40");
48 shouldBeEqualToString("path.animatedPathSegList.getItem(2).pathSegTypeAsLett er", "L");
49 shouldBeCloseEnough("path.animatedPathSegList.getItem(2).x", "60");
50 shouldBeCloseEnough("path.animatedPathSegList.getItem(2).y", "60");
51 shouldBeEqualToString("path.animatedPathSegList.getItem(3).pathSegTypeAsLett er", "L");
52 shouldBeCloseEnough("path.animatedPathSegList.getItem(3).x", "40");
53 shouldBeCloseEnough("path.animatedPathSegList.getItem(3).y", "60");
54 shouldBeEqualToString("path.animatedPathSegList.getItem(4).pathSegTypeAsLett er", "Z");
55 checkBaseVal();
56 } 25 }
57 26
58 function sample2() { 27 function sample2() {
59 shouldBe("path.animatedPathSegList.numberOfItems", "5"); 28 shouldBeEqualToString("path.getAttribute('d')", "M 40 40 L 109.975 40 L 109. 975 109.975 L 40 109.975 Z");
60 shouldBeEqualToString("path.animatedPathSegList.getItem(0).pathSegTypeAsLett er", "M");
61 shouldBeCloseEnough("path.animatedPathSegList.getItem(0).x", "40");
62 shouldBeCloseEnough("path.animatedPathSegList.getItem(0).y", "40");
63 shouldBeEqualToString("path.animatedPathSegList.getItem(1).pathSegTypeAsLett er", "L");
64 shouldBeCloseEnough("path.animatedPathSegList.getItem(1).x", "110");
65 shouldBeCloseEnough("path.animatedPathSegList.getItem(1).y", "40");
66 shouldBeEqualToString("path.animatedPathSegList.getItem(2).pathSegTypeAsLett er", "L");
67 shouldBeCloseEnough("path.animatedPathSegList.getItem(2).x", "110");
68 shouldBeCloseEnough("path.animatedPathSegList.getItem(2).y", "110");
69 shouldBeEqualToString("path.animatedPathSegList.getItem(3).pathSegTypeAsLett er", "L");
70 shouldBeCloseEnough("path.animatedPathSegList.getItem(3).x", "40");
71 shouldBeCloseEnough("path.animatedPathSegList.getItem(3).y", "110");
72 shouldBeEqualToString("path.animatedPathSegList.getItem(4).pathSegTypeAsLett er", "Z");
73 checkBaseVal();
74 } 29 }
75 30
76 function sample3() { 31 function sample3() {
77 shouldBe("path.animatedPathSegList.numberOfItems", "5"); 32 shouldBeEqualToString("path.getAttribute('d')", "M 40 40 L 110.025 40 L 110. 025 110.025 L 40 110.025 Z");
78 shouldBeEqualToString("path.animatedPathSegList.getItem(0).pathSegTypeAsLett er", "M");
79 shouldBeCloseEnough("path.animatedPathSegList.getItem(0).x", "40");
80 shouldBeCloseEnough("path.animatedPathSegList.getItem(0).y", "40");
81 shouldBeEqualToString("path.animatedPathSegList.getItem(1).pathSegTypeAsLett er", "L");
82 shouldBeCloseEnough("path.animatedPathSegList.getItem(1).x", "160");
83 shouldBeCloseEnough("path.animatedPathSegList.getItem(1).y", "40");
84 shouldBeEqualToString("path.animatedPathSegList.getItem(2).pathSegTypeAsLett er", "L");
85 shouldBeCloseEnough("path.animatedPathSegList.getItem(2).x", "160");
86 shouldBeCloseEnough("path.animatedPathSegList.getItem(2).y", "160");
87 shouldBeEqualToString("path.animatedPathSegList.getItem(3).pathSegTypeAsLett er", "L");
88 shouldBeCloseEnough("path.animatedPathSegList.getItem(3).x", "40");
89 shouldBeCloseEnough("path.animatedPathSegList.getItem(3).y", "160");
90 shouldBeEqualToString("path.animatedPathSegList.getItem(4).pathSegTypeAsLett er", "Z");
91 checkBaseVal();
92 } 33 }
34
35 function sample4() {
36 shouldBeEqualToString("path.getAttribute('d')", "M 40 40 L 159.975 40 L 159. 975 159.975 L 40 159.975 Z");
37 }
38
39 function sample5() {
40 shouldBeEqualToString("path.getAttribute('d')", "M 40 40 L 160 40 L 160 160 L 40 160 Z");
41 }
42
93 function executeTest() { 43 function executeTest() {
94 const expectedValues = [ 44 const expectedValues = [
95 // [animationId, time, sampleCallback] 45 // [animationId, time, sampleCallback]
96 ["animation", 0.0, sample1], 46 ["animation", 0.0, sample1],
97 ["animation", 1.999, sample2], 47 ["animation", 1.999, sample2],
98 ["animation", 2.001, sample2], 48 ["animation", 2.001, sample3],
99 ["animation", 3.999, sample3], 49 ["animation", 3.999, sample4],
100 ["animation", 4.001, sample3] 50 ["animation", 4.001, sample5]
101 ]; 51 ];
102 52
103 runAnimationTest(expectedValues); 53 runAnimationTest(expectedValues);
104 } 54 }
105 55
106 var successfullyParsed = true; 56 var successfullyParsed = true;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698