products/Sources/formale Sprachen/C/Firefox/editor/libeditor/tests/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 4 kB image not shown  

Quellcode-Bibliothek test_bug676401.html   Sprache: HTML

 
 products/Sources/formale Sprachen/C/Firefox/editor/libeditor/tests/test_bug676401.html


<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=676401
-->

<head>
  <title>Test for Bug 676401</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=676401">Mozilla Bug 676401</a>
<p id="display"></p>
<div id="content">
  <!-- we need a blockquote to test the "outdent" command -->
  <section>
    <blockquote> not editable </blockquote>
  </section>
  <section contenteditable>
    <blockquote> editable </blockquote>
  </section>
</div>

<pre id="test">
<script type="application/javascript">

/** Test for Bug 676401 **/
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(runTests);

var gBlock1, gBlock2;

var alwaysEnabledCommands = [
  "contentReadOnly",
  "copy",
  "cut",
  "enableInlineTableEditing",
  "enableObjectResizing",
  "insertBrOnReturn",
  "selectAll",
  "styleWithCSS",
];

function ensureNobodyHasFocus() {
  document.activeElement.blur();
}

function IsCommandEnabled(command) {
  ensureNobodyHasFocus();

  // non-editable div: should return false unless alwaysEnabled
  window.getSelection().selectAllChildren(gBlock1);
  is(
    document.queryCommandEnabled(command),
    alwaysEnabledCommands.includes(command) && document.queryCommandSupported(command),
     "'" + command + "' should not be enabled on a non-editable block."
  );

  // editable div: should return true if it's supported
  window.getSelection().selectAllChildren(gBlock2);
  is(
    document.queryCommandEnabled(command),
    document.queryCommandSupported(command),
    "'" + command + "' should be enabled on an editable block."
  );
}

function runTests() {
  var i, commands;
  gBlock1 = document.querySelector("#content section blockquote");
  gBlock2 = document.querySelector("#content [contenteditable] blockquote");

  // common commands: test with and without "styleWithCSS"
  commands = [
    "bold""italic""underline""strikeThrough",
    "subscript""superscript""foreColor""backColor""hiliteColor",
    "fontName""fontSize",
    "justifyLeft""justifyCenter""justifyRight""justifyFull",
    "indent""outdent",
    "insertOrderedList""insertUnorderedList""insertParagraph",
    "heading""formatBlock",
    "contentReadOnly""createLink",
    "decreaseFontSize""increaseFontSize",
    "insertHTML""insertHorizontalRule""insertImage",
    "removeFormat""selectAll""styleWithCSS",
  ];
  document.execCommand("styleWithCSS", false, false);
  for (i = 0; i < commands.length; i++)
    IsCommandEnabled(commands[i]);
  document.execCommand("styleWithCSS", false, true);
  for (i = 0; i < commands.length; i++)
    IsCommandEnabled(commands[i]);

  // Mozilla-specific stuff
  commands = ["enableInlineTableEditing""enableObjectResizing""insertBrOnReturn"];
  for (i = 0; i < commands.length; i++)
    IsCommandEnabled(commands[i]);

  // These are privileged, and available only to chrome.
  ensureNobodyHasFocus();
  window.getSelection().selectAllChildren(gBlock2);
  commands = ["paste"];
  for (i = 0; i < commands.length; i++) {
    is(document.queryCommandEnabled(commands[i]), false,
       "Command should not be enabled for non-privileged code");
    is(SpecialPowers.wrap(document).queryCommandEnabled(commands[i]), true,
       "Command should be enabled for privileged code");
    is(document.execCommand(commands[i], false, false), false, "Should return false: " + commands[i]);
    is(SpecialPowers.wrap(document).execCommand(commands[i], false, false), true, "Should return true: " + commands[i]);
  }

  // delete/undo/redo -- we have to execute this commands because:
  //  * there's nothing to undo if we haven't modified the selection first
  //  * there's nothing to redo if we haven't undone something first
  commands = ["delete""undo""redo"];
  for (i = 0; i < commands.length; i++) {
    IsCommandEnabled(commands[i]);
    document.execCommand(commands[i], false, false);
  }

  // done
  SimpleTest.finish();
}

</script>
</pre>
</body>
</html>

100%


¤ 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.0.28Bemerkung:  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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 ist noch experimentell.