| OLD | NEW |
| (Empty) |
| 1 <!DOCTYPE html> | |
| 2 <meta charset=utf-8> | |
| 3 <title>Href - mpath element tests</title> | |
| 4 <script src='/resources/testharness.js'></script> | |
| 5 <script src='/resources/testharnessreport.js'></script> | |
| 6 <script src='testcommon.js'></script> | |
| 7 <body> | |
| 8 <div id='log'></div> | |
| 9 <svg id='svg' width='100' height='100' viewBox='0 0 100 100'></svg> | |
| 10 <script> | |
| 11 'use strict'; | |
| 12 | |
| 13 promise_test(function(t) { | |
| 14 var svg = document.getElementById('svg'); | |
| 15 var path1 = createSVGElement(t, 'path', svg, | |
| 16 { 'id': 'MyPath1', 'd': 'M 0,0 L 100,0' }); | |
| 17 var path2 = createSVGElement(t, 'path', svg, | |
| 18 { 'id': 'MyPath2', 'd': 'M 0,0 L 0,100' }); | |
| 19 var rect = createSVGElement(t, 'rect', svg, | |
| 20 { 'width': '10px', 'height': '10px' }); | |
| 21 var animateMotion = createSVGElement(t, 'animateMotion', rect, | |
| 22 { 'dur': '10s' }); | |
| 23 var mpath = createSVGElement(t, 'mpath', animateMotion); | |
| 24 mpath.setAttribute('href', '#MyPath1'); | |
| 25 mpath.setAttributeNS(XLINKNS, 'xlink:href', '#MyPath2'); | |
| 26 assert_equals(mpath.href.baseVal, '#MyPath1'); | |
| 27 | |
| 28 return waitEvent(animateMotion, 'begin').then(function() { | |
| 29 svg.pauseAnimations(); | |
| 30 svg.setCurrentTime(1); | |
| 31 var ctm = rect.getCTM(); | |
| 32 assert_equals(ctm.e, 10); | |
| 33 assert_equals(ctm.f, 0); | |
| 34 | |
| 35 svg.setCurrentTime(5); | |
| 36 ctm = rect.getCTM(); | |
| 37 assert_equals(ctm.e, 50); | |
| 38 assert_equals(ctm.f, 0); | |
| 39 }); | |
| 40 }, 'Test for mpath when setting both href and xlink:href'); | |
| 41 | |
| 42 promise_test(function(t) { | |
| 43 var svg = document.getElementById('svg'); | |
| 44 var path1 = createSVGElement(t, 'path', svg, | |
| 45 { 'id': 'MyPath1', 'd': 'M 0,0 L 100,0' }); | |
| 46 var path2 = createSVGElement(t, 'path', svg, | |
| 47 { 'id': 'MyPath2', 'd': 'M 0,0 L 0,100' }); | |
| 48 var rect = createSVGElement(t, 'rect', svg, | |
| 49 { 'width': '10px', 'height': '10px' }); | |
| 50 var animateMotion = createSVGElement(t, 'animateMotion', rect, | |
| 51 { 'dur': '10s' }); | |
| 52 var mpath = createSVGElement(t, 'mpath', animateMotion); | |
| 53 mpath.setAttribute('href', '#MyPath1'); | |
| 54 mpath.setAttributeNS(XLINKNS, 'xlink:href', '#MyPath2'); | |
| 55 | |
| 56 return waitEvent(animateMotion, 'begin').then(function() { | |
| 57 svg.pauseAnimations(); | |
| 58 svg.setCurrentTime(5); | |
| 59 var ctm = rect.getCTM(); | |
| 60 assert_equals(ctm.e, 50); | |
| 61 assert_equals(ctm.f, 0); | |
| 62 | |
| 63 mpath.removeAttribute('href'); | |
| 64 assert_equals(mpath.href.baseVal, '#MyPath2'); | |
| 65 | |
| 66 ctm = rect.getCTM(); | |
| 67 assert_equals(ctm.e, 0); | |
| 68 assert_equals(ctm.f, 50); | |
| 69 }); | |
| 70 }, 'Test for mpath when removing href but we still have xlink:href'); | |
| 71 | |
| 72 promise_test(function(t) { | |
| 73 var svg = document.getElementById('svg'); | |
| 74 var path1 = createSVGElement(t, 'path', svg, | |
| 75 { 'id': 'MyPath1', 'd': 'M 0,0 L 100,0' }); | |
| 76 var path2 = createSVGElement(t, 'path', svg, | |
| 77 { 'id': 'MyPath2', 'd': 'M 0,0 L 0,100' }); | |
| 78 var rect = createSVGElement(t, 'rect', svg, | |
| 79 { 'width': '10px', 'height': '10px' }); | |
| 80 var animateMotion = createSVGElement(t, 'animateMotion', rect, | |
| 81 { 'dur': '10s' }); | |
| 82 var mpath = createSVGElement(t, 'mpath', animateMotion); | |
| 83 mpath.setAttribute('href', '#MyPath1'); | |
| 84 mpath.setAttributeNS(XLINKNS, 'xlink:href', '#MyPath2'); | |
| 85 | |
| 86 return waitEvent(animateMotion, 'begin').then(function() { | |
| 87 svg.pauseAnimations(); | |
| 88 svg.setCurrentTime(5); | |
| 89 var ctm = rect.getCTM(); | |
| 90 assert_equals(ctm.e, 50); | |
| 91 assert_equals(ctm.f, 0); | |
| 92 | |
| 93 mpath.removeAttributeNS(XLINKNS, 'href'); | |
| 94 assert_equals(mpath.href.baseVal, '#MyPath1'); | |
| 95 | |
| 96 ctm = rect.getCTM(); | |
| 97 assert_equals(ctm.e, 50); | |
| 98 assert_equals(ctm.f, 0); | |
| 99 }); | |
| 100 }, 'Test for mpath when removing xlink:href but we still have href'); | |
| 101 | |
| 102 </script> | |
| 103 </body> | |
| OLD | NEW |