Source code

Revision control

Copy as Markdown

Other Tools

<!doctype html>
<html>
<head>
<title>Selection dragging should drag no HTML when inside a single element</title>
<style type="text/css">
p + div {
background: orange;
width: 4em;
}
div + div {
border: 1px solid black;
min-height: 5em;
}
</style>
<script type="text/javascript">
window.onload = function () {
var output = document.getElementsByTagName('div')[1];
output.ondragenter = output.ondragover = function (e) { e.preventDefault(); };
output.ondrop = function (e) {
e.preventDefault();
var drophtml = e.dataTransfer.getData('text/html').toUpperCase().replace(/\sSTYLE="[^"]*"/g,'').replace(/[\r\n]+/g,'\\n');
var droptext = e.dataTransfer.getData('text/plain').replace(/[\r\n]+/g,'\\n');
var expectedhtml = 'B';
var expectedtext = 'B';
if( drophtml != expectedhtml ) {
output.innerHTML = 'FAIL - normalised dropped HTML was:<br>'+drophtml.replace(/</g,'&lt;');
} else if( droptext != expectedtext ) {
output.innerHTML = 'FAIL - normalised dropped text was:<br>'+droptext.replace(/</g,'&lt;');
} else {
output.innerHTML = 'PASS';
}
};
};
</script>
</head>
<body>
<p>Select &quot;B&quot; in the text below.</p>
<div>
<p>ABC</p>
</div>
<div>Drag the selection and drop it here.</div>
</body>
</html>