<!doctypehtml>
<html>
<head>
<title>Testing font face "tt"</title>
<link rel="stylesheet" href="/tests/SimpleTest/test.css">
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="/tests/SimpleTest/EventUtils.js"></script>
</head>
<body>
<div id="display">
</div>
<div id="content" contenteditable>abc</div>
<pre id="test">
</pre>
<script class="testbody"> "use strict";
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(() => {
let editor = document.querySelector("div[contenteditable]");
editor.focus();
let selection = document.getSelection();
// "tt" is a magic value of "cmd_fontFace", it should work as "cmd_tt".
editor.innerHTML = "abc";
selection.setBaseAndExtent(editor.firstChild, 1, editor.firstChild, 2);
SpecialPowers.doCommand(window, "cmd_fontFace", "tt");
is(editor.innerHTML, "abc", "\"cmd_fontFace\" with \"tt\" should wrap selected text element");
editor.innerHTML = " ";
selection.collapse(editor, 0);
SpecialPowers.doCommand(window, "cmd_fontFace", "tt");
synthesizeKey("t");
synthesizeKey("t");
is(editor.innerHTML, "tt", "Typed text after \"cmd_fontFace\" with \"tt\" should be wrapped by element");
// But it shouldn't work with `Document.execCommand()`.
editor.innerHTML = "abc";
selection.setBaseAndExtent(editor.firstChild, 1, editor.firstChild, 2);
document.execCommand("fontname", false, "tt");
is(editor.innerHTML, "att\">bc", "execCommand(\"fontname\") with \"tt\" should wrap selected text with element");
editor.innerHTML = " ";
selection.collapse(editor, 0);
document.execCommand("fontname", false, "tt");
synthesizeKey("t");
synthesizeKey("t");
is(editor.innerHTML, "tt\">tt", "Typed text after execCommand(\"fontname\") with \"tt\" should be wrapped by element");
// "cmd_fontFace" with "tt" should remove `<font>` element.
editor.innerHTML = "asans-serif\">bc";
selection.selectAllChildren(editor.querySelector("font"));
SpecialPowers.doCommand(window, "cmd_fontFace", "tt");
is(editor.innerHTML, "abc", "\"cmd_fontFace\" with \"tt\" should wrap selected text element after removing element");
editor.innerHTML = "sans-serif\">abc";
selection.setBaseAndExtent(editor.firstChild.firstChild, 1, editor.firstChild.firstChild, 2);
SpecialPowers.doCommand(window, "cmd_fontFace", "tt");
is(editor.innerHTML, "sans-serif\">absans-serif\">c", "\"cmd_fontFace\" with \"tt\" should wrap selected text element after removing element");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.