| Index: third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-mpath-element.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-mpath-element.html b/third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-mpath-element.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8fb9f0f1aed6b3f6d7b70ed4cdcd7fdd7a19175f
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/svg/linking/scripted/href-mpath-element.html
|
| @@ -0,0 +1,103 @@
|
| +<!DOCTYPE html>
|
| +<meta charset=utf-8>
|
| +<title>Href - mpath 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 path1 = createSVGElement(t, 'path', svg,
|
| + { 'id': 'MyPath1', 'd': 'M 0,0 L 100,0' });
|
| + var path2 = createSVGElement(t, 'path', svg,
|
| + { 'id': 'MyPath2', 'd': 'M 0,0 L 0,100' });
|
| + var rect = createSVGElement(t, 'rect', svg,
|
| + { 'width': '10px', 'height': '10px' });
|
| + var animateMotion = createSVGElement(t, 'animateMotion', rect,
|
| + { 'dur': '10s' });
|
| + var mpath = createSVGElement(t, 'mpath', animateMotion);
|
| + mpath.setAttribute('href', '#MyPath1');
|
| + mpath.setAttributeNS(XLINKNS, 'xlink:href', '#MyPath2');
|
| + assert_equals(mpath.href.baseVal, '#MyPath1');
|
| +
|
| + return waitEvent(animateMotion, 'begin').then(function() {
|
| + svg.pauseAnimations();
|
| + svg.setCurrentTime(1);
|
| + var ctm = rect.getCTM();
|
| + assert_equals(ctm.e, 10);
|
| + assert_equals(ctm.f, 0);
|
| +
|
| + svg.setCurrentTime(5);
|
| + ctm = rect.getCTM();
|
| + assert_equals(ctm.e, 50);
|
| + assert_equals(ctm.f, 0);
|
| + });
|
| +}, 'Test for mpath when setting both href and xlink:href');
|
| +
|
| +promise_test(function(t) {
|
| + var svg = document.getElementById('svg');
|
| + var path1 = createSVGElement(t, 'path', svg,
|
| + { 'id': 'MyPath1', 'd': 'M 0,0 L 100,0' });
|
| + var path2 = createSVGElement(t, 'path', svg,
|
| + { 'id': 'MyPath2', 'd': 'M 0,0 L 0,100' });
|
| + var rect = createSVGElement(t, 'rect', svg,
|
| + { 'width': '10px', 'height': '10px' });
|
| + var animateMotion = createSVGElement(t, 'animateMotion', rect,
|
| + { 'dur': '10s' });
|
| + var mpath = createSVGElement(t, 'mpath', animateMotion);
|
| + mpath.setAttribute('href', '#MyPath1');
|
| + mpath.setAttributeNS(XLINKNS, 'xlink:href', '#MyPath2');
|
| +
|
| + return waitEvent(animateMotion, 'begin').then(function() {
|
| + svg.pauseAnimations();
|
| + svg.setCurrentTime(5);
|
| + var ctm = rect.getCTM();
|
| + assert_equals(ctm.e, 50);
|
| + assert_equals(ctm.f, 0);
|
| +
|
| + mpath.removeAttribute('href');
|
| + assert_equals(mpath.href.baseVal, '#MyPath2');
|
| +
|
| + ctm = rect.getCTM();
|
| + assert_equals(ctm.e, 0);
|
| + assert_equals(ctm.f, 50);
|
| + });
|
| +}, 'Test for mpath when removing href but we still have xlink:href');
|
| +
|
| +promise_test(function(t) {
|
| + var svg = document.getElementById('svg');
|
| + var path1 = createSVGElement(t, 'path', svg,
|
| + { 'id': 'MyPath1', 'd': 'M 0,0 L 100,0' });
|
| + var path2 = createSVGElement(t, 'path', svg,
|
| + { 'id': 'MyPath2', 'd': 'M 0,0 L 0,100' });
|
| + var rect = createSVGElement(t, 'rect', svg,
|
| + { 'width': '10px', 'height': '10px' });
|
| + var animateMotion = createSVGElement(t, 'animateMotion', rect,
|
| + { 'dur': '10s' });
|
| + var mpath = createSVGElement(t, 'mpath', animateMotion);
|
| + mpath.setAttribute('href', '#MyPath1');
|
| + mpath.setAttributeNS(XLINKNS, 'xlink:href', '#MyPath2');
|
| +
|
| + return waitEvent(animateMotion, 'begin').then(function() {
|
| + svg.pauseAnimations();
|
| + svg.setCurrentTime(5);
|
| + var ctm = rect.getCTM();
|
| + assert_equals(ctm.e, 50);
|
| + assert_equals(ctm.f, 0);
|
| +
|
| + mpath.removeAttributeNS(XLINKNS, 'href');
|
| + assert_equals(mpath.href.baseVal, '#MyPath1');
|
| +
|
| + ctm = rect.getCTM();
|
| + assert_equals(ctm.e, 50);
|
| + assert_equals(ctm.f, 0);
|
| + });
|
| +}, 'Test for mpath when removing xlink:href but we still have href');
|
| +
|
| +</script>
|
| +</body>
|
|
|