diff options
Diffstat (limited to 'testing/web-platform/tests/html/editing/dnd/svg')
77 files changed, 1516 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/editing/dnd/svg/001.svg b/testing/web-platform/tests/html/editing/dnd/svg/001.svg new file mode 100644 index 000000000..055a7b278 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/001.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from text element to textArea</title> +<text x="10" y="30" font-size="20">Select part of this text and drag selection to</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/002.svg b/testing/web-platform/tests/html/editing/dnd/svg/002.svg new file mode 100644 index 000000000..45ab566e6 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/002.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from editable text element to textArea</title> +<text x="10" y="30" editable="simple" font-size="20">Select part of this text and drag selection to</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/003.svg b/testing/web-platform/tests/html/editing/dnd/svg/003.svg new file mode 100644 index 000000000..c1f30cfbc --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/003.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from tspan elements to textArea</title> +<text x="10" y="30" font-size="20"> + <tspan>Select part</tspan> + <tspan>of this text</tspan> + <tspan>and drag selection to</tspan> +</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/004.svg b/testing/web-platform/tests/html/editing/dnd/svg/004.svg new file mode 100644 index 000000000..e3c4828a8 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/004.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from tref element to textArea</title> +<defs> + <text id="text">Select me</text> + </defs> +<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/005.svg b/testing/web-platform/tests/html/editing/dnd/svg/005.svg new file mode 100644 index 000000000..9bb3bd68b --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/005.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from textArea to textArea</title> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +<textArea x="10" y="110" width="480" height="380" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="110" width="480" height="380" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/006.svg b/testing/web-platform/tests/html/editing/dnd/svg/006.svg new file mode 100644 index 000000000..5edeba697 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/006.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from text element to editable text element</title> +<text x="10" y="30" font-size="20">Select part of this text and drag selection to</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<text x="10" y="200" font-size="50" editable="simple"> </text> +<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/007.svg b/testing/web-platform/tests/html/editing/dnd/svg/007.svg new file mode 100644 index 000000000..7d8bcf8d4 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/007.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection between editable text elements</title> +<text x="10" y="30" font-size="20" editable="simple">Select part of this text and drag selection to</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<text x="10" y="200" font-size="50" editable="simple"> </text> +<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/008.svg b/testing/web-platform/tests/html/editing/dnd/svg/008.svg new file mode 100644 index 000000000..167f73feb --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/008.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from tspan element to editable text element</title> +<text x="10" y="30" font-size="20"> + <tspan>Select part</tspan> + <tspan>of this text</tspan> + <tspan>and drag selection to</tspan> +</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<text x="10" y="200" font-size="50" editable="simple"> </text> +<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/009.svg b/testing/web-platform/tests/html/editing/dnd/svg/009.svg new file mode 100644 index 000000000..e7bd622a0 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/009.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from tref element to editable text element</title> +<defs> + <text id="text">Select me</text> + </defs> +<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<text x="10" y="200" font-size="50" editable="simple"> </text> +<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/010.svg b/testing/web-platform/tests/html/editing/dnd/svg/010.svg new file mode 100644 index 000000000..c5cce1867 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/010.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from textArea to editable text element</title> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +<text x="10" y="200" font-size="50" editable="simple"> </text> +<rect x="10" y="160" width="480" height="50" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/011.svg b/testing/web-platform/tests/html/editing/dnd/svg/011.svg new file mode 100644 index 000000000..8f07c3c82 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/011.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from textpath to textArea</title> +<defs> + <path id="path" d="M 10 40 C 10 20 480 20 480 40"/> +</defs> +<text fill="navy"> + <textPath xlink:href="#path">Some selectable text rendered along curved text path</textPath> +</text> +<text x="10" y="60" font-size="20">Select part of text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/012.svg b/testing/web-platform/tests/html/editing/dnd/svg/012.svg new file mode 100644 index 000000000..18c027655 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/012.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from editable textpath to textArea</title> +<defs> + <path id="path" d="M 10 40 C 10 20 480 20 480 40"/> +</defs> +<text fill="navy" editable="simple"> + <textPath xlink:href="#path">Some selectable text rendered along curved text path</textPath> +</text> +<text x="10" y="60" font-size="20">Select part of text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml new file mode 100644 index 000000000..a97dce1f2 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/013-1.xhtml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop from SVG: helper file</title> +<style type="text/css"> +textarea + {width:400px; + height:300px; + padding:10px;} +</style> +</head> +<body> +<p><textarea placeholder="Drop selection here"/></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/013.svg b/testing/web-platform/tests/html/editing/dnd/svg/013.svg new file mode 100644 index 000000000..d312135be --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/013.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from text element to XHTML textarea in foreignObject</title> +<text x="10" y="30" font-size="20">Select part of this text and drag selection to</text> +<text x="10" y="60" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="90" font-size="20">copies once it's dropped in the box.</text> +<switch> + <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="013-1.xhtml"/> + <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text> +</switch> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml new file mode 100644 index 000000000..674870d05 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/014-1.xhtml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop from SVG: helper file</title> +<style type="text/css"> +div[contenteditable] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<div contenteditable="true"/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/014.svg b/testing/web-platform/tests/html/editing/dnd/svg/014.svg new file mode 100644 index 000000000..772a9fdef --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/014.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from textArea to contenteditable element in foreignObject</title> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +<switch> + <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="014-1.xhtml"/> + <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text> +</switch> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml new file mode 100644 index 000000000..f5217a91e --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/015-1.xhtml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop from SVG: helper file</title> +</head> +<body> +<input placeholder="Drop selection here"/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/015.svg b/testing/web-platform/tests/html/editing/dnd/svg/015.svg new file mode 100644 index 000000000..3f97727c5 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/015.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from textArea to XHTML input in foreignObject</title> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +<switch> + <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="015-1.xhtml"/> + <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text> +</switch> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml new file mode 100644 index 000000000..484d4b4eb --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/016-1.xhtml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop from SVG: helper file</title> +<style type="text/css"> +div[ondragenter] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<div + ondragenter="event.preventDefault();event.dataTransfer.effectAllowed = 'copy'" + ondragover="return false" + ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))" +/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/016.svg b/testing/web-platform/tests/html/editing/dnd/svg/016.svg new file mode 100644 index 000000000..60d9e40c7 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/016.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG text selection from textArea to foreignObject</title> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +<switch> + <foreignObject x="10" y="120" width="480" height="380" requiredExtensions="http://www.w3.org/1999/xhtml" xlink:href="016-1.xhtml"/> + <text x="10" y="150" font-size="20">Skip the test (foreignObject is not supported).</text> +</switch> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/017.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/017.xhtml new file mode 100644 index 000000000..598a2c6f3 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/017.xhtml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection to SVG textArea</title> +</head> +<body onload="window.getSelection().selectAllChildren(document.querySelector('p'))"> +<p>Drag me</p> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/018.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/018.xhtml new file mode 100644 index 000000000..03ac442a3 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/018.xhtml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from XHTML text input to SVG textArea</title> +</head> +<body onload="document.querySelector('input').select()"> +<p><input value="Drag me"/></p> +<p>Drag selection above to the blue box. Copy of selection should end up in the blue box once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/019.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/019.xhtml new file mode 100644 index 000000000..6c16875a1 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/019.xhtml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from XHTML textarea to SVG textArea</title> +<style type="text/css"> +textarea + {height:1.5em; + width:7em;} +</style> +</head> +<body onload="var t = document.querySelector('textarea');t.select();t.setSelectionRange(0,7)"> +<p><textarea>Drag me</textarea></p> +<p>Drag selection above to the blue box. Copy of selection should end up in the blue box once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/020.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/020.xhtml new file mode 100644 index 000000000..c3c50fd9e --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/020.xhtml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging multiline selection from XHTML textarea to SVG textArea</title> +<style type="text/css"> +textarea + {width:300px; + height:100px;} +</style> +</head> +<body onload="var t = document.querySelector('textarea');t.select();t.setSelectionRange(25,56)"> +<p> +<textarea> +Here is textarea +with selection that +spans two lines. +Drag selected text to the blue box. +Copy of selection should end up in the blue box once you drop it there. +</textarea> +</p> +<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/021.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/021.xhtml new file mode 100644 index 000000000..3cc07af28 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/021.xhtml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG text element to XHTML element</title> +<style type="text/css"> +div[ondragenter] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy">Select me</text> +</svg> +<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p> +<div + ondragenter="event.preventDefault()" + ondragover="return false" + ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))" +/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/022.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/022.xhtml new file mode 100644 index 000000000..bd619ca00 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/022.xhtml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG editable text element to XHTML element</title> +<style type="text/css"> +div[ondragenter] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text> +</svg> +<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p> +<div + ondragenter="event.preventDefault()" + ondragover="return false" + ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))" +/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/023.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/023.xhtml new file mode 100644 index 000000000..3ada55cef --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/023.xhtml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG textArea to XHTML element</title> +<style type="text/css"> +div[ondragenter] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100"> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +</svg> +<div + ondragenter="event.preventDefault()" + ondragover="return false" + ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/plain')))" +/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/024.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/024.xhtml new file mode 100644 index 000000000..58349cdcf --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/024.xhtml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG text element to contenteditable element</title> +<style type="text/css"> +div[contenteditable] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy">Select me</text> +</svg> +<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p> +<div contenteditable="true"/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/025.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/025.xhtml new file mode 100644 index 000000000..236e1655e --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/025.xhtml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG editable text element to contenteditable element</title> +<style type="text/css"> +div[contenteditable] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text> +</svg> +<p>Select the text above and drag selection to the blue box. Copy of selection should end up in the blue box once you drop it there.</p> +<div contenteditable="true"/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/026.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/026.xhtml new file mode 100644 index 000000000..b387f0a00 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/026.xhtml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG textArea to contenteditable element</title> +<style type="text/css"> +div[contenteditable] + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100"> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +</svg> +<div contenteditable="true"/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/027.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/027.xhtml new file mode 100644 index 000000000..d122bae19 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/027.xhtml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG text element to XHTML textarea</title> +<style type="text/css"> +textarea + {width:300px; + height:100px; + margin-top:20px; + padding:10px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy">Select me</text> +</svg> +<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p> +<p><textarea placeholder="Drop selection here"/></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/028.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/028.xhtml new file mode 100644 index 000000000..1d5437117 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/028.xhtml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG editable text element to XHTML textarea</title> +<style type="text/css"> +textarea + {width:300px; + height:100px; + margin-top:20px; + padding:10px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text> +</svg> +<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p> +<p><textarea placeholder="Drop selection here"/></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/029.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/029.xhtml new file mode 100644 index 000000000..02e258e85 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/029.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging selection from SVG textArea to XHTML textarea</title> +<style type="text/css"> +textarea + {width:300px; + height:100px; + margin-top:20px; + padding:10px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100"> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select part of this text and drag selection to the box below. +Content of selection should be copied once it's dropped in the box.</textArea> +</svg> +<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p> +<p><textarea placeholder="Drop selection here"/></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/030-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/030-1.svg new file mode 100644 index 000000000..62798a7e1 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/030-1.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="100px" viewBox="0 0 100 100"> +<circle cx="50" cy="50" r="50" fill="green"/> +</svg> + diff --git a/testing/web-platform/tests/html/editing/dnd/svg/030.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/030.xhtml new file mode 100644 index 000000000..dd6f7fa22 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/030.xhtml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>SVG image drag and drop</title> +<style type="text/css"> +div[ondragenter] + {width:105px; + min-height:105px; + text-align:center; + margin-top:20px; + padding:10px; + border:solid thin navy;} +p:first-child + {padding-left:12px;} +</style> +<script type="application/ecmascript"> +function addImage(event) + {var c = document.createElement('img'); + c.setAttribute('src',event.dataTransfer.getData('text/uri-list')); + document.querySelector('div').appendChild(c);} +</script> +</head> +<body> +<p><img src="030-1.svg" alt="SVG circle" ondragstart="event.dataTransfer.effectAllowed = 'copy'"/></p> +<p>Drag circle above to the box below. It should be copied to the box once you drop it there.</p> +<div + ondragenter="event.preventDefault()" + ondragover="return false" + ondrop="addImage(event)" +/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/031.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/031.xhtml new file mode 100644 index 000000000..a21fdc0f6 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/031.xhtml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>SVG dataURL image drag and drop</title> +<style type="text/css"> +div[ondragenter] + {width:105px; + min-height:105px; + text-align:center; + margin-top:20px; + padding:10px; + border:solid thin navy;} +p:first-child + {padding-left:12px;} +</style> +<script type="application/ecmascript"> +function addImage(event) + {var c = document.createElement('img'); + c.setAttribute('src',event.dataTransfer.getData('text/uri-list')); + document.querySelector('div').appendChild(c);} +</script> +</head> +<body> +<p><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22100px%22%20height%3D%22100px%22%20viewBox%3D%220%200%20100%20100%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22green%22/%3E%3C/svg%3E" alt="SVG circle" ondragstart="event.dataTransfer.effectAllowed = 'copy'"/></p> +<p>Drag circle above to the box below. It should be copied to the box once you drop it there.</p> +<div + ondragenter="event.preventDefault()" + ondragover="return false" + ondrop="addImage(event)" +/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/032.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/032.xhtml new file mode 100644 index 000000000..bdc6c9904 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/032.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Cross fragment drag and drop of SVG text selection from text element to textArea</title> +<style type="text/css"> +textarea + {width:300px; + height:100px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy">Select me</text> +</svg> +<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/033.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/033.xhtml new file mode 100644 index 000000000..1888875ab --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/033.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Cross fragment drag and drop of SVG text selection from editable text element to textArea</title> +<style type="text/css"> +textarea + {width:300px; + height:100px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text> +</svg> +<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/034.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/034.xhtml new file mode 100644 index 000000000..0e9e4ea44 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/034.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Cross fragment drag and drop of SVG text selection from textArea to editable text element</title> +<style type="text/css"> +textarea + {width:300px; + height:100px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100"> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select me.</textArea> +</svg> +<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/035.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/035.xhtml new file mode 100644 index 000000000..a0dd437bd --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/035.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Cross fragment drag and drop between SVG textAreas</title> +<style type="text/css"> +textarea + {width:300px; + height:100px;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="100px" viewBox="0 0 500 100"> +<textArea x="10" y="10" width="480" height="90" font-size="20">Select me.</textArea> +</svg> +<p>Drag selection above to the textarea below. Copy of selection should end up in the textarea once you drop it there.</p> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="400px" height="50px" viewBox="0 0 400 50"> +<text x="10" y="40" font-size="50" editable="simple"> </text> +<rect x="10" y="0" width="380" height="50" stroke="black" stroke-width="1" fill="none"/> +</svg> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/036-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/036-1.svg new file mode 100644 index 000000000..d16862da6 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/036-1.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> +<text x="10" y="45" font-size="30" fill="navy">Select me</text> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/036.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/036.xhtml new file mode 100644 index 000000000..cb774b3eb --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/036.xhtml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging text selection between different SVG images</title> +</head> +<body> +<p><object type="image/svg+xml" data="036-1.svg">SVG Image</object></p> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/037.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/037.xhtml new file mode 100644 index 000000000..b97f99cc4 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/037.xhtml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging text selection from dataURL image to another SVG image</title> +</head> +<body> +<object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/038.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/038.xhtml new file mode 100644 index 000000000..c74b1db9c --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/038.xhtml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging text selection between different SVG dataURL images</title> +</head> +<body> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object></p> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.2%22%20width%3D%22500px%22%20height%3D%22300px%22%20viewBox%3D%220%200%20500%20300%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20font-size%3D%2220%22%20editable%3D%22simple%22%20pointer-events%3D%22boundingBox%22%3EDrop%20selection%20here%3C/textArea%3E%3Crect%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3C/svg%3E">SVG Image</object></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/039-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/039-1.svg new file mode 100644 index 000000000..7023ddd93 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/039-1.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="250px" height="50px" viewBox="0 0 250 50"> +<textArea x="10" y="10" width="200" height="50" font-size="20">Select me.</textArea> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/039.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/039.xhtml new file mode 100644 index 000000000..77bc7e9c9 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/039.xhtml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging textArea selection between different SVG images</title> +</head> +<body> +<p><object type="image/svg+xml" data="039-1.svg">SVG Image</object></p> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/040.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/040.xhtml new file mode 100644 index 000000000..6069563a9 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/040.xhtml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging textArea selection from dataURL image to another SVG image</title> +</head> +<body> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22250px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20250%2050%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22200%22%20height%3D%2250%22%20font-size%3D%2220%22%3ESelect%20me.%3C/textArea%3E%3C/svg%3E">SVG Image</object></p> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<p><object type="image/svg+xml" data="helper-drop-selection-here-textArea.svg">SVG Image</object></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/041.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/041.xhtml new file mode 100644 index 000000000..326bafe63 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/041.xhtml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Dragging textArea selection between different SVG dataURL images</title> +</head> +<body> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22250px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20250%2050%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22200%22%20height%3D%2250%22%20font-size%3D%2220%22%3ESelect%20me.%3C/textArea%3E%3C/svg%3E">SVG Image</object></p> +<p>Drag selection above to the box below. Copy of selection should end up in the box once you drop it there.</p> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.2%22%20width%3D%22500px%22%20height%3D%22300px%22%20viewBox%3D%220%200%20500%20300%22%3E%3CtextArea%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20font-size%3D%2220%22%20editable%3D%22simple%22%20pointer-events%3D%22boundingBox%22%3EDrop%20selection%20here%3C/textArea%3E%3Crect%20x%3D%2210%22%20y%3D%2210%22%20width%3D%22480%22%20height%3D%22280%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%20fill%3D%22none%22/%3E%3C/svg%3E">SVG Image</object></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/042.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/042.xhtml new file mode 100644 index 000000000..25d360fcb --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/042.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop from downsized SVG image</title> +<style type="text/css"> +object + {width:100px; + height:30px;} +textarea + {width:300px; + height:100px; + margin-top:20px; + padding:10px;} +</style> +</head> +<body> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object></p> +<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p> +<p><textarea placeholder="Drop selection here"/></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/043.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/043.xhtml new file mode 100644 index 000000000..7144e0f7e --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/043.xhtml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop from enlarged SVG image</title> +<style type="text/css"> +object + {width:300px; + height:75px;} +textarea + {width:300px; + height:100px; + margin-top:20px; + padding:10px;} +</style> +</head> +<body> +<p><object type="image/svg+xml" data="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20width%3D%22200px%22%20height%3D%2250px%22%20viewBox%3D%220%200%20200%2050%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2245%22%20font-size%3D%2230%22%20fill%3D%22navy%22%3ESelect%20me%3C/text%3E%3C/svg%3E">SVG Image</object></p> +<p>Select the text above and drag selection to the textarea. Copy of selection should end up in the textarea once you drop it there.</p> +<p><textarea placeholder="Drop selection here"/></p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/044.svg b/testing/web-platform/tests/html/editing/dnd/svg/044.svg new file mode 100644 index 000000000..6dfcb4d66 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/044.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of RTL SVG text selection from text element to textArea</title> +<text x="10" y="30" font-size="20" fill="navy">‮FAIL|SSAP‬</text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/045.svg b/testing/web-platform/tests/html/editing/dnd/svg/045.svg new file mode 100644 index 000000000..00dee4564 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/045.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of BiDi SVG text selection from text element to textArea</title> +<text x="10" y="30" font-size="20" fill="navy">PASS|LIAF ‮FAIL|SSAP‬ PASS|LIAF</text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/046.svg b/testing/web-platform/tests/html/editing/dnd/svg/046.svg new file mode 100644 index 000000000..da9b03718 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/046.svg @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of BiDi SVG text selection from tspan elements to textArea</title> +<text x="10" y="30" font-size="20" fill="navy"> + <tspan>PASS|LIAF</tspan> + <tspan>‮FAIL|SSAP‬</tspan> + <tspan>PASS|LIAF</tspan> +</text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/047.svg b/testing/web-platform/tests/html/editing/dnd/svg/047.svg new file mode 100644 index 000000000..f8f737c6d --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/047.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of RTL SVG text selection from tref element to textArea</title> +<defs> + <text id="text">‮FAIL|SSAP‬</text> + </defs> +<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/048.svg b/testing/web-platform/tests/html/editing/dnd/svg/048.svg new file mode 100644 index 000000000..fb41bc991 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/048.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of BiDi SVG text selection from tref element to textArea</title> +<defs> + <text id="text">PASS|LIAF ‮FAIL|SSAP‬ PASS|LIAF</text> + </defs> +<text x="10" y="30" font-size="20" fill="navy"><tref xlink:href="#text"/></text> +<text x="10" y="60" font-size="20">Select text above and drag selection to</text> +<text x="10" y="90" font-size="20">the box below. Content of selection should be</text> +<text x="10" y="120" font-size="20">copies once it's dropped in the box.</text> +<textArea x="10" y="130" width="480" height="360" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="130" width="480" height="360" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/049.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/049.xhtml new file mode 100644 index 000000000..155f75533 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/049.xhtml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Selecting text in SVG text element inside draggable container</title> +</head> +<body> +<div draggable="true"> + <svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="200px" height="50px" viewBox="0 0 200 50"> + <text x="10" y="45" font-size="30" fill="navy" editable="simple">Select me</text> + </svg> +</div> +<p>You should be able to select text above</p> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/050.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/050.xhtml new file mode 100644 index 000000000..56fef670f --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/050.xhtml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Selecting text in SVG textArea element inside draggable container</title> +</head> +<body> +<div draggable="true"> + <svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="100px" viewBox="0 0 500 100"> + <textArea x="10" y="10" width="480" height="90" font-size="20" editable="simple">You should be able to select this text</textArea> + </svg> +</div> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/051.xhtml b/testing/web-platform/tests/html/editing/dnd/svg/051.xhtml new file mode 100644 index 000000000..2cb656361 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/051.xhtml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Drag and drop of link from SVG fragment to XHTML</title> +<style type="text/css"> +div + {width:300px; + height:100px; + margin-top:20px; + padding:10px; + color:white; + background-color:navy;} +</style> +</head> +<body> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="200px" height="50px" viewBox="0 0 200 50"> + <a xlink:href="data:text/plain,PASS"> + <text x="10" y="45" font-size="30" fill="navy">Drag me</text> + </a> +</svg> +<p>Drag link to the blue box. You should see word PASS once you drop it there.</p> +<div dropzone="copy string:text/uri-list" ondrop="document.querySelector('div').appendChild(document.createTextNode(event.dataTransfer.getData('text/uri-list').substring(16)))"/> +</body> +</html>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/052.svg b/testing/web-platform/tests/html/editing/dnd/svg/052.svg new file mode 100644 index 000000000..f559b234a --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/052.svg @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of text link inside SVG</title> +<a xlink:href="data:text/plain,PASS"> + <text x="10" y="50" font-size="30" fill="navy">Drag me</text> +</a> +<textArea x="10" y="70" width="480" height="170" font-size="30">Drag link above and drop it in the gray box below. You should see word PASS once you drop it.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelector('rect'), text = document.querySelector('textArea'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'} +,false); +rect.addEventListener('dragenter', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('drop', +function (event) + {text.firstChild.nodeValue = event.dataTransfer.getData('text/uri-list').substring(16,20)} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/053.svg b/testing/web-platform/tests/html/editing/dnd/svg/053.svg new file mode 100644 index 000000000..a116f63a1 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/053.svg @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of circle link inside SVG</title> +<a xlink:href="data:text/plain,PASS"> + <circle cx="50" cy="50" r="50" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Drag green circle above and drop it in the gray box below. Gray box should turn green once you drop it.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelector('rect'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'} +,false); +rect.addEventListener('dragenter', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('drop', +function (event) + {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,PASS') + {rect.setAttribute('fill','green');} + } +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/054.svg b/testing/web-platform/tests/html/editing/dnd/svg/054.svg new file mode 100644 index 000000000..8029734cd --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/054.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of animated circle link inside SVG</title> +<a xlink:href="data:text/plain,PASS"> + <circle cx="50" cy="50" r="10" fill="green"> + <animate attributeName="r" to="50" dur="10s" begin="0s" fill="freeze"/> + </circle> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30"> +Drag green circle above and drop it in the gray box below. +Size of feedback image should match size of circle +and gray box should turn green.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelector('rect'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'} +,false); +rect.addEventListener('dragenter', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('drop', +function (event) + {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,PASS') + {rect.setAttribute('fill','green');} + } +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/055.svg b/testing/web-platform/tests/html/editing/dnd/svg/055.svg new file mode 100644 index 000000000..d23ca5f90 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/055.svg @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Selection and drag and drop of link inside SVG</title> +<a xlink:href="data:text/plain,PASS"> + <rect x="10" y="10" width="80" height="80" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Select part of this text. Once text is selected drag green square above and drop it in the gray box below. Gray box should turn green.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelector('svg > rect'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'} +,false); +rect.addEventListener('dragenter', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('drop', +function (event) + {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,PASS') + {rect.setAttribute('fill','green');} + } +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/056.svg b/testing/web-platform/tests/html/editing/dnd/svg/056.svg new file mode 100644 index 000000000..ff2bab82d --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/056.svg @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>dataTransfer.setData/getData during SVG link drag and drop</title> +<a xlink:href="data:text/plain,PASS"> + <polygon points="0,0 100,0 0,100" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="15">Drag green triangle above and drop it in the gray box below. Gray box should turn green.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +<![CDATA[ +var dataTypes = ['text/uri-list', 'text/plain', 'application/xml', 'application/xhtml+xml', 'application/mathml+xml', 'image/svg+xml', 'text/html', 'text/x-example'], +data = ['data:text/plain,PASS', 'PASS', '<result>PASS</result>', '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Data store item</title></head><body><p>PASS</p></body></html>', '<math xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn></math>', '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="50px" viewBox="0 0 100 50"><text x="0" y="40" font-size="40" fill="green">PASS</text></svg>', '<!DOCTYPE html><html><head><title>Data store item</title></head><body><p>PASS</p></body></html>', 'PASS'], +a = document.querySelector('a'), rect = document.querySelector('rect'), text = document.querySelector('textArea'), result = true; +a.addEventListener('dragstart', + function (event) + {event.dataTransfer.effectAllowed = 'copy'; + for(var i = 0; i != dataTypes.length; i++) + {event.dataTransfer.setData(dataTypes[i], data[i]);} + if(event.dataTransfer.items.length < dataTypes.length) + {say('items.length (dragstart) : FAIL');} + },false); +a.addEventListener('drag', + function (event) + {for(var i = 0; i != dataTypes.length; i++) + {event.dataTransfer.setData(dataTypes[i], 'FAIL'); + if(event.dataTransfer.getData(dataTypes[i])) + {say('getData(' + dataTypes[i] + ') : FAIL (data store should not be readable during drag)')} + } + if(event.dataTransfer.items.length < dataTypes.length) + {say('items.length (dragover) : FAIL')} + },false); +rect.addEventListener('dragenter', + function (event) + {event.preventDefault(); + for(var i = 0; i != dataTypes.length; i++) + {event.dataTransfer.setData(dataTypes[i], 'FAIL'); + if(event.dataTransfer.getData(dataTypes[i])) + {say('getData(' + dataTypes[i] + ') : FAIL (data store should not be readable during dragenter)')} + } + if(event.dataTransfer.items.length < dataTypes.length) + {say('items.length (dragenter) : FAIL')} + },false); +rect.addEventListener('dragover', + function (event) + {event.preventDefault(); + for(var i = 0; i != dataTypes.length; i++) + {event.dataTransfer.setData(dataTypes[i], 'FAIL'); + if(event.dataTransfer.getData(dataTypes[i])) + {say('getData(' + dataTypes[i] + ') : FAIL (data store should not be readable during dragover)')} + } + if(event.dataTransfer.items.length < dataTypes.length) + {say('items.length (dragover) : FAIL');} + },false); +rect.addEventListener('drop', + function (event) + {if(event.dataTransfer.items.length < dataTypes.length) + {say('items.length (drop) : FAIL');} + for(var i = 0; i != dataTypes.length; i++) + {if(event.dataTransfer.getData(dataTypes[i]) != data[i]) + {say('getData(' + dataTypes[i] + ') : FAIL');} + } + rect.setAttribute('fill',result?'green':'red'); + },false); +function say(it) + {text.appendChild(document.createTextNode(it + '.')); + result = false;} +]]> +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/057.svg b/testing/web-platform/tests/html/editing/dnd/svg/057.svg new file mode 100644 index 000000000..709521bea --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/057.svg @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>dataTransfer.items during SVG link drag and drop</title> +<a xlink:href="data:text/plain,PASS"> + <polygon points="0,0 100,0 100,100" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="15">Drag green triangle above and drop it in the gray box below. Gray box should turn green.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +<![CDATA[ +var dataTypes = ['text/uri-list', 'text/plain', 'application/xml', 'application/xhtml+xml', 'application/mathml+xml', 'image/svg+xml', 'text/html', 'text/x-example'], +data = ['data:text/plain,PASS', 'PASS', '<result>PASS</result>', '<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Data store item</title></head><body><p>PASS</p></body></html>', '<math xmlns="http://www.w3.org/1998/Math/MathML"><mn>1</mn></math>', '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="50px" viewBox="0 0 100 50"><text x="0" y="40" font-size="40" fill="green">PASS</text></svg>', '<!DOCTYPE html><html><head><title>Data store item</title></head><body><p>PASS</p></body></html>', 'PASS'], +a = document.querySelector('a'), rect = document.querySelector('rect'), text = document.querySelector('textArea'), e = 0, result = true; +a.addEventListener('dragstart', + function (event) + {event.dataTransfer.effectAllowed = 'copy'; + for(var i = 0; i != dataTypes.length; i++) + {event.dataTransfer.setData(dataTypes[i], data[i]);} + for(var i = event.dataTransfer.items.length; i != 0; i--) + {if(dataTypes.indexOf(event.dataTransfer.items[i-1].type) == -1) + {delete event.dataTransfer.items[i-1]} + } + if(event.dataTransfer.items.length != dataTypes.length) + {say('items.length (ondragstart) : FAIL (items.length should be' + dataTypes.length + ')')} + for(var i = 0; i != event.dataTransfer.items.length; i++) + {if(event.dataTransfer.items[i].kind != 'string') + {say('Item kind (ondragstart): FAIL (items[' + i + '].kind should be string)')} + if(event.dataTransfer.items[i].type != dataTypes[i]) + {say('Item type (ondragstart): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')} + event.dataTransfer.items[i].getAsString( + function () + {if(arguments[0] != data[e++]) + {say('getAsString : FAIL (items[' + i + '].getAsString should pass' + data[e] + ')')} + } + ); + } + },false); +a.addEventListener('drag', + function (event) + {event.dataTransfer.items.clear(); + if(event.dataTransfer.items.length != dataTypes.length) + {say('items.length (ondrag) : FAIL (items.length should be' + dataTypes.length + ')')} + for(var i = 0; i != event.dataTransfer.items.length; i++) + {if(event.dataTransfer.items[i].kind != 'string') + {say('Item kind (ondrag): FAIL (items[' + i + '].kind should be string)')} + if(event.dataTransfer.items[i].type != dataTypes[i]) + {say('Item type (ondrag): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')} + event.dataTransfer.items[i].getAsString( + function () + {if(arguments[0]) + {say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to drag event handler)')} + } + ); + } + },false); +rect.addEventListener('dragenter', + function (event) + {event.preventDefault(); + event.dataTransfer.items.clear(); + if(event.dataTransfer.items.length != dataTypes.length) + {say('items.length (ondragenter) : FAIL (items.length should be' + dataTypes.length + ')')} + for(var i = 0; i != event.dataTransfer.items.length; i++) + {delete event.dataTransfer.items[i]; + if(event.dataTransfer.items[i].kind != 'string') + {say('Item kind (ondragenter): FAIL (items[' + i + '].kind should be string)')} + if(event.dataTransfer.items[i].type != dataTypes[i]) + {say('Item type (ondragenter): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')} + event.dataTransfer.items[i].getAsString( + function () + {if(arguments[0]) + {say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to drag event handler)')} + } + ); + } + },false); +rect.addEventListener('dragover', + function (event) + {event.preventDefault(); + event.dataTransfer.items.clear(); + if(event.dataTransfer.items.length != dataTypes.length) + {say('items.length (ondragover) : FAIL (items.length should be' + dataTypes.length + ')')} + for(var i = 0; i != event.dataTransfer.items.length; i++) + {if(event.dataTransfer.items[i].kind != 'string') + {say('Item kind (ondragover): FAIL (items[' + i + '].kind should be string)')} + if(event.dataTransfer.items[i].type != dataTypes[i]) + {say('Item type (ondragover): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')} + event.dataTransfer.items[i].getAsString( + function () + {if(arguments[0]) + {say('getAsString : FAIL (items[' + i + '].getAsString should not reveal data to dragover event handler)')} + } + ); + } + },false); +rect.addEventListener('drop', + function (event) + {e = 0; + event.dataTransfer.items.clear(); + if(event.dataTransfer.items.length != dataTypes.length) + {say('items.length (ondrop) : FAIL (items.length should be' + dataTypes.length + ')')} + for(var i = 0; i != event.dataTransfer.items.length; i++) + {delete event.dataTransfer.items[i]; + if(event.dataTransfer.items[i].kind != 'string') + {say('Item kind (ondrop): FAIL (items[' + i + '].kind should be string)')} + if(event.dataTransfer.items[i].type != dataTypes[i]) + {say('Item type (ondrop): FAIL (items[' + i + '].type should be' + dataTypes[i] + ')')} + event.dataTransfer.items[i].getAsString( + function () + {if(arguments[0] != data[e++]) + {say('getAsString : FAIL (items[' + i + '].getAsString should pass' + data[e] + ')')} + } + ); + } + rect.setAttribute('fill',result?'green':'red'); + },false); +function say(it) + {text.appendChild(document.createTextNode(it + '.')); + result = false;} +]]> +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/058.svg b/testing/web-platform/tests/html/editing/dnd/svg/058.svg new file mode 100644 index 000000000..f27626f66 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/058.svg @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>SVG link drag and drop: allowed effects 'copy','move','link' and 'none'</title> +<a xlink:href="data:text/plain,1"> + <circle cx="50" cy="50" r="40" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">You should be able to drag green circle and drop it onto any of the boxes below. Choosen box should turn green once circle is dropped on it.</textArea> +<rect x="10" y="300" width="100" height="100" fill="silver"/> +<rect x="120" y="300" width="100" height="100" fill="gray"/> +<rect x="230" y="300" width="100" height="100" fill="gray"/> +<rect x="340" y="300" width="100" height="100" fill="black"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelectorAll('rect'), +effects = ['copy','move','link','all'], e = 0; +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = effects[e]} +,false); +for(var i = 0; i != rect.length; i++) + {rect[i].addEventListener('dragenter', + function (event) + {event.preventDefault(); + event.dataTransfer.effectAllowed = effects[e];} + ,false); + rect[i].addEventListener('dragover', + function (event) + {event.preventDefault()} + ,false); + rect[i].addEventListener('drop', + function (event) + {if(event.dataTransfer.dropEffect == effects[e] && event.dataTransfer.effectAllowed == effects[e] && i != 3) + {event.target.setAttribute('fill','green');} + e = (e+1)%3;} + ,false);} +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/059-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/059-1.svg new file mode 100644 index 000000000..634620a2f --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/059-1.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>SVG link drag and drop: helper file</title> +<textArea x="10" y="10" width="480" height="200" font-size="30">Drop circle onto gray box below. Box should turn green once circle is dropped.</textArea> +<rect x="10" y="220" width="480" height="270" fill="gray"/> +<script type="application/ecmascript"> +var rect = document.querySelector('rect'); +rect.addEventListener('dragenter', +function (event) + {event.preventDefault();} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault();} +,false); +rect.addEventListener('drop', +function (event) + {rect.setAttribute('fill',(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'green':'red');} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/059.svg b/testing/web-platform/tests/html/editing/dnd/svg/059.svg new file mode 100644 index 000000000..a289804e6 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/059.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>SVG link cross page drag and drop</title> +<a xlink:href="data:text/plain,1"> + <circle cx="50" cy="50" r="40" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle above. You should be redirected to the new page and be able to drop it there.</textArea> +<script type="application/ecmascript"> +document.querySelector('a').addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + window.location = '059-1.svg'} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/060-1.svg b/testing/web-platform/tests/html/editing/dnd/svg/060-1.svg new file mode 100644 index 000000000..b78e04b21 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/060-1.svg @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>SVG link drag and drop: helper file</title> +<textArea x="10" y="10" width="480" height="200" font-size="30">Drag circle over arrow below but don't drop it yet. You should be returned back to start page.</textArea> +<polygon points="10,400 100,300 100,350 480,350 480,450 100,450 100,500 10,400" fill="navy"/> +<script type="application/ecmascript"> +document.querySelector('polygon').addEventListener('dragenter', +function (event) + {window.location = '060.svg'} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/060.svg b/testing/web-platform/tests/html/editing/dnd/svg/060.svg new file mode 100644 index 000000000..da3efcc49 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/060.svg @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>SVG link drag and drop and history navigation roundtrip</title> +<a xlink:href="data:text/plain,1"> + <circle cx="50" cy="50" r="40" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle above. You will be redirected to new page. When you return back drop circle on itself. You should see word PASS once you drop it.</textArea> +<script type="application/ecmascript"> +var a = document.querySelector('a'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + window.location = '060-1.svg'} +,false); +a.addEventListener('dragenter', +function (event) + {event.preventDefault();} +,false); +a.addEventListener('dragover', +function (event) + {event.preventDefault();} +,false); +a.addEventListener('drop', +function (event) + {document.querySelector('textArea').firstChild.nodeValue = (event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'PASS':'FAIL';} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/061.svg b/testing/web-platform/tests/html/editing/dnd/svg/061.svg new file mode 100644 index 000000000..17f873435 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/061.svg @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>SVG link drag and drop roundtrip</title> +<a xlink:href="data:text/plain,1"> + <circle cx="50" cy="50" r="40" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle outside browser window and then drag it back and drop on itself. You should see word PASS once you drop it.</textArea> +<script type="application/ecmascript"> +var a = document.querySelector('a'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy';} +,false); +a.addEventListener('dragenter', +function (event) + {event.preventDefault();} +,false); +a.addEventListener('dragover', +function (event) + {event.preventDefault();} +,false); +a.addEventListener('drop', +function (event) + {document.querySelector('textArea').firstChild.nodeValue = (event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'PASS':'FAIL';} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/062.svg b/testing/web-platform/tests/html/editing/dnd/svg/062.svg new file mode 100644 index 000000000..0bc8477e5 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/062.svg @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Setting drag image during drag and drop of SVG link</title> +<a xlink:href="data:text/plain,1"> + <circle cx="60" cy="60" r="50" fill="gray"/> +</a> +<textArea x="10" y="200" width="480" height="200" font-size="30">Try to drag circle. Drag feedback should look like green rectangle.</textArea> +<rect x="300" y="10" width="100" height="100" fill="green"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelector('rect'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.setDragImage(document.querySelector('rect'), 50, 50);} +,false); +</script> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/063.svg b/testing/web-platform/tests/html/editing/dnd/svg/063.svg new file mode 100644 index 000000000..eda15495f --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/063.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Adding element to datastore while dragging SVG links</title> +<a xlink:href="data:text/plain,1"> + <rect x="10" y="10" width="100" height="100" fill="green"/> +</a> +<a xlink:href="data:text/plain,2"> + <rect x="300" y="10" width="100" height="100" fill="teal"/> +</a> +<textArea x="10" y="200" width="480" height="200" font-size="30">Try to drag one of boxes above. Drag feedback should include both boxes.</textArea> +<script type="application/ecmascript"> +var a = document.querySelectorAll('a'); +a[0].addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.addElement(document.querySelectorAll('rect')[1]);} +,false); +a[1].addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.addElement(document.querySelectorAll('rect')[0]);} +,false); +</script> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/064.svg b/testing/web-platform/tests/html/editing/dnd/svg/064.svg new file mode 100644 index 000000000..913732360 --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/064.svg @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of overlapping SVG links</title> +<a xlink:href="data:text/plain,1"> + <rect x="10" y="10" width="100" height="100" fill="silver"/> +</a> +<a xlink:href="data:text/plain,2"> + <rect x="10" y="10" width="100" height="100" fill="gray"/> +</a> + <rect x="160" y="10" width="100" height="100" fill="green"/> + <rect x="310" y="10" width="100" height="100" fill="maroon"/> +<textArea x="10" y="200" width="480" height="200" font-size="30">Try to drag gray boxe above. Drag feedback should be green, not red.</textArea> +<script type="application/ecmascript"> +var a = document.querySelectorAll('a'); +a[0].addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.setDragImage(document.querySelectorAll('rect')[3], 50, 50);} +,false); +a[1].addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + event.dataTransfer.setDragImage(document.querySelectorAll('rect')[2], 50, 50);} +,false); +</script> +</svg>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/editing/dnd/svg/065.svg b/testing/web-platform/tests/html/editing/dnd/svg/065.svg new file mode 100644 index 000000000..38cb9560d --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/065.svg @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Reload during SVG link drag and drop roundtrip</title> +<a xlink:href="data:text/plain,1"> + <circle cx="50" cy="50" r="40" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Drag circle around page and then drag it back and drop on itself. You should see word PASS once you drop it.</textArea> +<script type="application/ecmascript"> +var a = document.querySelector('a'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + window.location.reload()} +,false); +a.addEventListener('dragenter', +function (event) + {event.preventDefault();} +,false); +a.addEventListener('dragover', +function (event) + {event.preventDefault();} +,false); +a.addEventListener('drop', +function (event) + {document.querySelector('textArea').firstChild.nodeValue = (event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1')?'PASS':'FAIL';} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/066.svg b/testing/web-platform/tests/html/editing/dnd/svg/066.svg new file mode 100644 index 000000000..1020ec82c --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/066.svg @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Removing dragged element during drag and drop of SVG link</title> +<a xlink:href="data:text/plain,1"> + <circle cx="50" cy="50" r="50" fill="green"/> +</a> +<textArea x="10" y="100" width="480" height="200" font-size="30">Drag green circle above and drop it in the gray box below. Gray box should turn green once you drop it.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +var a = document.querySelector('a'), rect = document.querySelector('rect'); +a.addEventListener('dragstart', +function (event) + {event.dataTransfer.effectAllowed = 'copy'; + document.documentElement.removeChild(a);} +,false); +rect.addEventListener('dragenter', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('drop', +function (event) + {if(event.dataTransfer.getData('text/uri-list').replace(/\r\n$/,'') == 'data:text/plain,1') + {rect.setAttribute('fill','green');} + } +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/067.svg b/testing/web-platform/tests/html/editing/dnd/svg/067.svg new file mode 100644 index 000000000..ba1e5011f --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/067.svg @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="500px" height="500px" viewBox="0 0 500 500"> +<title>Drag and drop of SVG links</title> +<a xlink:href="data:text/plain,olive"> + <circle cx="50" cy="50" r="50" fill="olive"/> +</a> +<a xlink:href="data:text/plain,green"> + <circle cx="200" cy="50" r="50" fill="green"/> +</a> +<a xlink:href="data:text/plain,teal"> + <circle cx="350" cy="50" r="50" fill="teal"/> +</a> +<textArea x="10" y="120" width="480" height="200" font-size="30">Drag one of green circles above and drop it in the gray box below. Gray box should turn green.</textArea> +<rect x="10" y="300" width="480" height="190" fill="gray"/> +<script type="application/ecmascript"> +var a = document.querySelectorAll('a'), rect = document.querySelector('rect'); +for(var i = 0; i != a.length; i++) + {a[i].addEventListener('dragstart', + function (event) + {event.dataTransfer.effectAllowed = 'copy';} + ,false);} +rect.addEventListener('dragenter', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('dragover', +function (event) + {event.preventDefault()} +,false); +rect.addEventListener('drop', +function (event) + {rect.setAttribute('fill',event.dataTransfer.getData('text/uri-list').substr(16).replace(/\r\n$/,''));} +,false); +</script> +</svg> diff --git a/testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg b/testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg new file mode 100644 index 000000000..783c164eb --- /dev/null +++ b/testing/web-platform/tests/html/editing/dnd/svg/helper-drop-selection-here-textArea.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" version="1.2" width="500px" height="300px" viewBox="0 0 500 300"> +<textArea x="10" y="10" width="480" height="280" font-size="20" editable="simple" pointer-events="boundingBox">Drop selection here</textArea> +<rect x="10" y="10" width="480" height="280" stroke="black" stroke-width="1" fill="none"/> +</svg>
\ No newline at end of file |