74 lines
3.6 KiB
HTML
74 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<style>
|
|
.underline_important {
|
|
text-decoration: underline !important;
|
|
}
|
|
.linethrough_important{
|
|
text-decoration: line-through !important;
|
|
}
|
|
|
|
.underline_decoration {
|
|
text-decoration: underline;
|
|
}
|
|
.linethrough_decoration{
|
|
text-decoration: line-through;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description('Test to make sure we return correct text-decoration state on applying different command.');
|
|
|
|
var testContainer = document.createElement("div");
|
|
testContainer.contentEditable = true;
|
|
document.body.appendChild(testContainer);
|
|
|
|
function textdecorationState(decoration, content, command)
|
|
{
|
|
testContainer.innerHTML = content;
|
|
var target = document.getElementById('e');
|
|
var selection = window.getSelection();
|
|
var range = document.createRange();
|
|
range.setStart(target, 0);
|
|
range.setEnd(target, 1);
|
|
target.focus();
|
|
selection.removeAllRanges();
|
|
selection.addRange(range);
|
|
document.execCommand(command, false, null);
|
|
|
|
return document.queryCommandState(decoration);
|
|
}
|
|
|
|
//!important
|
|
shouldBe('textdecorationState("underline","<span id=e style=\'text-decoration: none !important;\'>hello world</span>", "underline")', 'false');
|
|
shouldBe('textdecorationState("underline","<span id=e style=\'text-decoration: underline !important;\'>hello world</span>", "underline")', 'true');
|
|
shouldBe('textdecorationState("strikeThrough","<span id=e style=\'text-decoration: underline !important;\'>hello world</span>", "strikethrough")', 'false');
|
|
shouldBe('textdecorationState("strikeThrough","<span style=\'text-decoration: underline !important;\'><em id=e>hello world</em></span>", "strikethrough")', 'true');
|
|
shouldBe('textdecorationState("underline","<span id=e class=\'underline_important\'>hello world</span>", "removeFormat")', 'true');
|
|
shouldBe('textdecorationState("strikeThrough","<span id=e class=\'linethrough_important\'>hello world</span>", "removeFormat")', 'true');
|
|
shouldBe('textdecorationState("underline","<u><span id=e style=\'text-decoration: underline !important;\'>hello world</span></u>", "underline")', 'false');
|
|
|
|
//general
|
|
shouldBe('textdecorationState("underline","<span id=e style=\'text-decoration: none;\'>hello world</span>", "underline")', 'true');
|
|
shouldBe('textdecorationState("underline","<span id=e style=\'text-decoration: underline;\'>hello world</span>", "underline")', 'false');
|
|
shouldBe('textdecorationState("strikeThrough","<span id=e style=\'text-decoration: underline;\'>hello world</span>", "strikethrough")', 'true');
|
|
shouldBe('textdecorationState("strikeThrough","<span style=\'text-decoration: underline;\'><em id=e>hello world</em></span>", "strikethrough")', 'true');
|
|
shouldBe('textdecorationState("underline","<span id=e class=\'underline_decoration\'>hello world</span>", "removeFormat")', 'false');
|
|
shouldBe('textdecorationState("strikeThrough","<span id=e class=\'linethrough_decoration\'>hello world</span>", "removeFormat")', 'true');
|
|
|
|
shouldBe('textdecorationState("underline","<span id=e style=\'text-decoration: underline;\'>hello world</span>", "removeFormat")', 'false');
|
|
shouldBe('textdecorationState("underline","<span id=e>hello world</span>", "underline")', 'true');
|
|
|
|
shouldBe('textdecorationState("underline","<u><span id=e>hello world</span></u>", "underline")', 'false');
|
|
shouldBe('textdecorationState("underline","<u><span id=e style=\'text-decoration: underline;\'>hello world</span></u>", "underline")', 'false');
|
|
|
|
document.body.removeChild(testContainer);
|
|
|
|
var successfullyParsed = true;
|
|
</script>
|
|
</body>
|
|
</html>
|