<!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>