<!doctype html>
<html>
  <head>
    <title>Selection dragging should drag minimal HTML context</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 = '<P><SPAN>C</SPAN>D</P><P>E<SPAN>F</SPAN></P>';
    var expectedtext = 'CD\\nEF';
    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 the text from &quot;C&quot; to &quot;F&quot; (including both of those characters) in the text below.</p>
    <div>
      <p><span>A</span><span>BC</span>D</p><p>E<span>FG</span><span>H</span></p>
    </div>
    <div>Drag the selection and drop it here.</div>

  </body>
</html>
