| <!DOCTYPE html> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <div id="sample"></div> |
| <div id="log"></div> |
| <script> |
| var moved = false; |
| var sample = document.getElementById('sample'); |
| var range = document.createRange(); |
| range.setStart(sample, 0); |
| range.setEnd(sample, 0); |
| sample.addEventListener('DOMNodeRemoved', function() { |
| if (moved) |
| return; |
| moved = true; |
| document.implementation.createDocument('', null).appendChild(sample); |
| }); |
| test(function() { |
| var doc = document.implementation.createDocument('http://www.w3.org/1999/xhtml', 'html'); |
| try { |
| doc.documentElement.appendChild(sample); |
| } catch (exception) { |
| assert_equals(exception.toString(), 'NotFoundError: Failed to execute \'appendChild\' on \'Node\': The node to be removed is no longer a child of this node. Perhaps it was moved in response to a mutation?'); |
| } |
| }); |
| </script> |