gecko/editor/libeditor/html/crashtests/448329-3.html
Mats Palmgren 575d767fbd Bug 448329. Make selection code more robust when the selection boundary is not in a block ... Tests.
--HG--
extra : rebase_source : 4a8c3bbd202e6aa0973117b4de81e7885150f50e
2009-02-19 21:01:36 +13:00

110 lines
2.5 KiB
HTML

<!DOCTYPE HTML>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Testcase #3 for bug 448329</title>
</head>
<body>
<iframe id="frame448329"></iframe>
<script>
function test448329(id,cmd,val) {
var elm = document.getElementById(id);
var doc = elm.contentDocument;
doc.designMode = "On";
var s = doc.defaultView.getSelection();
// Test document node
if (s.rangeCount > 0)
s.removeAllRanges();
var range = doc.createRange();
range.setStart(doc, 0);
range.setEnd(doc, 0);
s.addRange(range);
doc.execCommand(cmd,false,val);
// Test HTML node
if (s.rangeCount > 0)
s.removeAllRanges();
range = doc.createRange();
range.setStart(doc.documentElement, 0);
range.setEnd(doc.documentElement, 0);
s.addRange(range);
doc.execCommand(cmd,false,val);
// Test BODY node
if (s.rangeCount > 0)
s.removeAllRanges();
range = doc.createRange();
var body = doc.documentElement.childNodes[1];
range.setStart(body, 0);
range.setEnd(body, 0);
s.addRange(range);
doc.execCommand(cmd,false,val);
var text = doc.createTextNode("Hello Kitty");
body.insertBefore(text, null)
// Test TEXT node
if (s.rangeCount > 0)
s.removeAllRanges();
range = doc.createRange();
range.setStart(text, 0);
range.setEnd(text, 1);
s.addRange(range);
doc.execCommand(cmd,false,val);
// Test BODY[0,0] + TEXT node
if (s.rangeCount > 0)
s.removeAllRanges();
range = doc.createRange();
range.setStart(body, 0);
range.setEnd(body, 0);
s.addRange(range);
range = doc.createRange();
range.setStart(text, 0);
range.setEnd(text, 1);
s.addRange(range);
doc.execCommand(cmd,false,val);
// Test BODY[0,1] + TEXT node
if (s.rangeCount > 0)
s.removeAllRanges();
range = doc.createRange();
range.setStart(body, 0);
range.setEnd(body, 1);
s.addRange(range);
range = doc.createRange();
range.setStart(text, 0);
range.setEnd(text, 1);
s.addRange(range);
doc.execCommand(cmd,false,val);
// Test BODY[0,1] + TEXT node without a parent
if (s.rangeCount > 0)
s.removeAllRanges();
range = doc.createRange();
range.setStart(body, 0);
range.setEnd(body, 1);
s.addRange(range);
range = doc.createRange();
text = doc.createTextNode("Hello Kitty"); // not in doc
range.setStart(text, 0);
range.setEnd(text, 1);
s.addRange(range);
doc.execCommand(cmd,false,val);
}
test448329("frame448329", "backcolor", "green")
test448329("frame448329", "hilitecolor", "green")
</script>
</body>
</html>