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

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-animate-element.html

Issue 2408493002: Import wpt@357b83b809e3cbc7a1805e7c3ca108a7980d782f (Closed)
Patch Set: Added one more win7-specific baseline Created 4 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-animate-element.html
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-animate-element.html b/third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-animate-element.html
new file mode 100644
index 0000000000000000000000000000000000000000..f0b99209a80193db0ffe994d18fc2c42e6485ea5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-animate-element.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Href - animate element tests</title>
+<script src='/resources/testharness.js'></script>
+<script src='/resources/testharnessreport.js'></script>
+<script src='testcommon.js'></script>
+<body>
+<div id='log'></div>
+<svg id='svg' width='100' height='100' viewBox='0 0 100 100'></svg>
+<script>
+'use strict';
+
+promise_test(function(t) {
+ var svg = document.getElementById('svg');
+ var rect1 = createSVGElement(t, 'rect', svg,
+ { 'width': '10px',
+ 'height': '10px',
+ 'id': 'rect1' });
+ var rect2 = createSVGElement(t, 'rect', svg,
+ { 'width': '10px',
+ 'height': '10px',
+ 'id': 'rect2' });
+ var animate = createSVGElement(t, 'animate', svg,
+ { 'attributeName': 'x',
+ 'from': '0',
+ 'to': '100',
+ 'dur': '10s' });
+ animate.setAttribute('href', '#rect1');
+ animate.setAttributeNS(XLINKNS, 'xlink:href', '#rect2');
+ assert_equals(animate.targetElement, rect1);
+
+ return waitEvent(animate, 'begin').then(function() {
+ svg.pauseAnimations();
+ svg.setCurrentTime(5);
+ assert_equals(rect1.x.animVal.value, 50);
+ assert_equals(rect2.x.animVal.value, 0);
+ });
+}, 'Test for animate element when setting both href and xlink:href');
+
+promise_test(function(t) {
+ var svg = document.getElementById('svg');
+ var rect1 = createSVGElement(t, 'rect', svg,
+ { 'width': '10px',
+ 'height': '10px',
+ 'id': 'rect1' });
+ var rect2 = createSVGElement(t, 'rect', svg,
+ { 'width': '10px',
+ 'height': '10px',
+ 'id': 'rect2' });
+ var transform = createSVGElement(t, 'animateTransform', svg,
+ { 'attributeName': 'transform',
+ 'type': 'translate',
+ 'from': '0',
+ 'to': '100',
+ 'dur': '10s' });
+
+ transform.setAttribute('href', '#rect1');
+ transform.setAttributeNS(XLINKNS, 'xlink:href', '#rect2');
+ assert_equals(transform.targetElement, rect1);
+
+ return waitEvent(transform, 'begin').then(function() {
+ svg.pauseAnimations();
+ svg.setCurrentTime(5);
+ assert_equals(rect1.getCTM().e, 50);
+ assert_equals(rect2.getCTM().e, 0);
+ });
+}, 'Test for animateTransform element when setting both href and xlink:href');
+
+promise_test(function(t) {
+ var svg = document.getElementById('svg');
+ var circle1 = createSVGElement(t, 'circle', svg,
+ { 'cx': '50',
+ 'cy': '50',
+ 'r': '40',
+ 'id': 'circle1' });
+ var circle2 = createSVGElement(t, 'circle', svg,
+ { 'cx': '50',
+ 'cy': '50',
+ 'r': '40',
+ 'id': 'circle2' });
+ var animate = createSVGElement(t, 'animate', svg,
+ { 'attributeName': 'cx',
+ 'from': '50',
+ 'to': '150',
+ 'dur': '10s' });
+ animate.setAttribute('href', '#circle1');
+ animate.setAttributeNS(XLINKNS, 'xlink:href', '#circle2');
+ assert_equals(animate.targetElement, circle1);
+
+ return waitEvent(animate, 'begin').then(function() {
+ svg.pauseAnimations();
+ svg.setCurrentTime(5);
+ assert_equals(circle1.cx.animVal.value, 100);
+ assert_equals(circle2.cx.animVal.value, 50);
+
+ animate.removeAttribute('href');
+ assert_equals(animate.targetElement, circle2);
+ assert_equals(circle1.cx.animVal.value, 50);
+ assert_equals(circle2.cx.animVal.value, 100);
+ });
+}, 'Test for animate element when removing href but we still have xlink:href');
+
+promise_test(function(t) {
+ var svg = document.getElementById('svg');
+ var circle1 = createSVGElement(t, 'circle', svg,
+ { 'cx': '50',
+ 'cy': '50',
+ 'r': '40',
+ 'id': 'circle1' });
+ var circle2 = createSVGElement(t, 'circle', svg,
+ { 'cx': '50',
+ 'cy': '50',
+ 'r': '40',
+ 'id': 'circle2' });
+ var animate = createSVGElement(t, 'animate', svg,
+ { 'attributeName': 'cx',
+ 'from': '50',
+ 'to': '150',
+ 'dur': '10s' });
+ animate.setAttribute('href', '#circle1');
+ animate.setAttributeNS(XLINKNS, 'xlink:href', '#circle2');
+ assert_equals(animate.targetElement, circle1);
+
+ return waitEvent(animate, 'begin').then(function() {
+ svg.pauseAnimations();
+ svg.setCurrentTime(5);
+ assert_equals(circle1.cx.animVal.value, 100);
+ assert_equals(circle2.cx.animVal.value, 50);
+
+ animate.removeAttributeNS(XLINKNS, 'href');
+ assert_equals(animate.targetElement, circle1);
+ assert_equals(circle1.cx.animVal.value, 100);
+ assert_equals(circle2.cx.animVal.value, 50);
+ });
+}, 'Test for animate element when removing xlink:href but we still have href');
+
+</script>
+</body>

Powered by Google App Engine
This is Rietveld 408576698