Quellcodebibliothek Statistik Leitseite 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 3 kB image not shown  

Quelle  test_bug502673.html   Sprache: HTML

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


<!DOCTYPE HTML>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->

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


<head>
  <title>Test for Bug 502673</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  <script src="/tests/SimpleTest/EventUtils.js"></script>
</head>

<body onload="doTest();">
  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=502673">Mozilla Bug 502673</a>
  <p id="display"></p>
  <div id="content" style="display: none">
  </div>

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

      /** Test for Bug 502673 **/

      SimpleTest.waitForExplicitFinish();

      function listener() {
      }

      listener.prototype =
      {
        NotifyDocumentWillBeDestroyed() {
          var editor = SpecialPowers.wrap(this.input).editor;
          editor.removeDocumentStateListener(this);
        },

        NotifyDocumentStateChanged() {
          var editor = SpecialPowers.wrap(this.input).editor;
          editor.removeDocumentStateListener(this);
        },

        QueryInterface: SpecialPowers.wrapCallback(function(iid) {
          if (iid.equals(SpecialPowers.Ci.nsIDocumentStateListener) ||
              iid.equals(SpecialPowers.Ci.nsISupports))
            return this;
          throw SpecialPowers.Cr.NS_ERROR_NO_INTERFACE;
        }),
      };

      function doTest() {
        var input = document.getElementById("ip");

        // Add multiple listeners to the same editor
        var editor = SpecialPowers.wrap(input).editor;
        var listener1 = new listener();
        listener1.input = input;
        var listener2 = new listener();
        listener2.input = input;
        var listener3 = new listener();
        listener3.input = input;
        editor.addDocumentStateListener(listener1);
        editor.addDocumentStateListener(listener2);
        editor.addDocumentStateListener(listener3);

        // Test 1. Fire NotifyDocumentStateChanged notifications where the
        // listeners remove themselves
        input.value = "mozilla";
        editor.undo();

        // Report success if we get here - clearly we didn't crash
        ok(true, "Multiple listeners removed themselves after " +
                 "NotifyDocumentStateChanged notifications - didn't crash");

        // Add the listeners again for the next test
        editor.addDocumentStateListener(listener1);
        editor.addDocumentStateListener(listener2);
        editor.addDocumentStateListener(listener3);

        // Test 2. Fire NotifyDocumentWillBeDestroyed notifications where the
        // listeners remove themselves (though in the real world, listeners
        // shouldn't do this as nsEditor::PreDestroy removes them as
        // listeners anyway)
        document.body.removeChild(input);
        ok(true, "Multiple listeners removed themselves after " +
                 "NotifyDocumentWillBeDestroyed notifications - didn't crash");

       SimpleTest.finish();
      }
   </script>
  </pre>

  <input type="text" id="ip" />
</body>
</html>

Messung V0.5
C=93 H=97 G=94

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© 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 und die Messung sind noch experimentell.