1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/test_bug366946.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,79 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<!-- 1.7 +https://bugzilla.mozilla.org/show_bug.cgi?id=366946 1.8 +--> 1.9 +<head> 1.10 + <title>Test for Bug 366946</title> 1.11 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.12 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.13 +</head> 1.14 +<body> 1.15 +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=366946">Mozilla Bug 366946</a> 1.16 +<p id="display"></p> 1.17 +<div id="content" style="display: none"> 1.18 + <div id="1"></div> 1.19 + <div id="2"></div> 1.20 + <div id="3"></div> 1.21 +</div> 1.22 +<pre id="test"> 1.23 +<script class="testbody" type="text/javascript"> 1.24 + /** Test for Bug 366946 **/ 1.25 + SimpleTest.waitForExplicitFinish(); 1.26 + 1.27 + addLoadEvent(function() { 1.28 + var doc1 = document; 1.29 + 1.30 + // Set up a new document. 1.31 + var doc2 = document.implementation.createDocument('', '', null); 1.32 + 1.33 + // Copy some nodes into doc2 1.34 + var node1 = doc2.importNode(doc1.getElementById('1'), false); 1.35 + var node2 = doc2.importNode(doc1.getElementById('1'), false); 1.36 + node1.appendChild(node2); 1.37 + doc2.appendChild(node1); 1.38 + 1.39 + // Create two ranges in doc1 to compare. 1.40 + var range1 = doc1.createRange(); 1.41 + range1.setStart(doc1.getElementById('1'), 0); 1.42 + range1.setEnd(doc1.getElementById('2'), 0); 1.43 + 1.44 + var range2 = doc1.createRange(); 1.45 + range2.setStart(doc1.getElementById('2'), 0); 1.46 + range2.setEnd(doc1.getElementById('3'), 0); 1.47 + 1.48 + // Create a range in doc2. 1.49 + var range3 = doc2.createRange(); 1.50 + range3.setStart(node1, 0); 1.51 + range3.setEnd(node2, 0); 1.52 + 1.53 + // Compare range1 and range2: Should return 1. 1.54 + try { 1.55 + var result1 = range2.compareBoundaryPoints(Range.START_TO_START, range1); 1.56 + } 1.57 + catch (ex) { 1.58 + } 1.59 + ok(result1 === 1, "range1 and range2 are compared correctly."); 1.60 + 1.61 + // Compare range1 and range3: Should throw DOMException WRONG_DOCUMENT_ERR. 1.62 + try { 1.63 + var result2 = range3.compareBoundaryPoints(Range.START_TO_START, range1); 1.64 + } 1.65 + catch (ex) { 1.66 + var error = ex.name; 1.67 + var errorCode = ex.code; 1.68 + } 1.69 + 1.70 + ok(error == "WrongDocumentError", 1.71 + "The WrongDocumentError exception thrown when comparing ranges from " + 1.72 + "different documents "); 1.73 + ok(errorCode == DOMException.WRONG_DOCUMENT_ERR, 1.74 + "The exception thrown when comparing ranges from different documents " + 1.75 + "has the code DOMException.WRONG_DOCUMENT_ERR"); 1.76 + ok(result2 === undefined, "range1 and range3 couldn't be compared as expected."); 1.77 + SimpleTest.finish(); 1.78 + }); 1.79 +</script> 1.80 +</pre> 1.81 +</body> 1.82 +</html>