|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<html>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
https://bugzilla.mozilla.org/show_bug.cgi?id=366946
|
|
Packit |
f0b94e |
-->
|
|
Packit |
f0b94e |
<head>
|
|
Packit |
f0b94e |
<title>Test for Bug 366946</title>
|
|
Packit |
f0b94e |
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
Packit |
f0b94e |
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
Packit |
f0b94e |
</head>
|
|
Packit |
f0b94e |
<body>
|
|
Packit |
f0b94e |
Mozilla Bug 366946
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<script class="testbody" type="text/javascript">
|
|
Packit |
f0b94e |
/** Test for Bug 366946 **/
|
|
Packit |
f0b94e |
SimpleTest.waitForExplicitFinish();
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
addLoadEvent(function() {
|
|
Packit |
f0b94e |
var doc1 = document;
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Set up a new document.
|
|
Packit |
f0b94e |
var doc2 = document.implementation.createDocument('', '', null);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Copy some nodes into doc2
|
|
Packit |
f0b94e |
var node1 = doc2.importNode(doc1.getElementById('1'), false);
|
|
Packit |
f0b94e |
var node2 = doc2.importNode(doc1.getElementById('1'), false);
|
|
Packit |
f0b94e |
node1.appendChild(node2);
|
|
Packit |
f0b94e |
doc2.appendChild(node1);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Create two ranges in doc1 to compare.
|
|
Packit |
f0b94e |
var range1 = doc1.createRange();
|
|
Packit |
f0b94e |
range1.setStart(doc1.getElementById('1'), 0);
|
|
Packit |
f0b94e |
range1.setEnd(doc1.getElementById('2'), 0);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
var range2 = doc1.createRange();
|
|
Packit |
f0b94e |
range2.setStart(doc1.getElementById('2'), 0);
|
|
Packit |
f0b94e |
range2.setEnd(doc1.getElementById('3'), 0);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Create a range in doc2.
|
|
Packit |
f0b94e |
var range3 = doc2.createRange();
|
|
Packit |
f0b94e |
range3.setStart(node1, 0);
|
|
Packit |
f0b94e |
range3.setEnd(node2, 0);
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Compare range1 and range2: Should return 1.
|
|
Packit |
f0b94e |
try {
|
|
Packit |
f0b94e |
var result1 = range2.compareBoundaryPoints(Range.START_TO_START, range1);
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
catch (ex) {
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
ok(result1 === 1, "range1 and range2 are compared correctly.");
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
// Compare range1 and range3: Should throw DOMException WRONG_DOCUMENT_ERR.
|
|
Packit |
f0b94e |
try {
|
|
Packit |
f0b94e |
var result2 = range3.compareBoundaryPoints(Range.START_TO_START, range1);
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
catch (ex) {
|
|
Packit |
f0b94e |
var error = ex.name;
|
|
Packit |
f0b94e |
var errorCode = ex.code;
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
ok(error == "WrongDocumentError",
|
|
Packit |
f0b94e |
"The WrongDocumentError exception thrown when comparing ranges from " +
|
|
Packit |
f0b94e |
"different documents ");
|
|
Packit |
f0b94e |
ok(errorCode == DOMException.WRONG_DOCUMENT_ERR,
|
|
Packit |
f0b94e |
"The exception thrown when comparing ranges from different documents " +
|
|
Packit |
f0b94e |
"has the code DOMException.WRONG_DOCUMENT_ERR");
|
|
Packit |
f0b94e |
ok(result2 === undefined, "range1 and range3 couldn't be compared as expected.");
|
|
Packit |
f0b94e |
SimpleTest.finish();
|
|
Packit |
f0b94e |
});
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
</body>
|
|
Packit |
f0b94e |
</html>
|