editor/composer/test/test_bug338427.html
author Andrew McCreight <continuation@gmail.com>
Thu, 13 Aug 2015 14:24:59 -0700
changeset 257735 9b16a669ddc717870613ef78fd39fd8257b76834
parent 134174 6b29a5c949555aefa0ee6bcca3b1a45809e513f8
child 263761 20624d683ef63e0deae95a81b9ba70ac674f4f4f
permissions -rw-r--r--
Bug 1193572, part 2 - nsXULPrototypeElement::Deserialize should use fallible SetCapacity. r=baku I think this prevents a crash if we end up with a bogus cache value.

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=338427
-->
<head>
  <title>Test for Bug 338427</title>
  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=338427">Mozilla Bug 338427</a>
<p id="display"></p>
<div id="content">
<textarea id="editor" lang="testing-XX" spellcheck="true"></textarea>

</div>
<pre id="test">
<script class="testbody" type="text/javascript">

/** Test for Bug 338427 **/
function init() {
    Components.utils.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm");

    var textarea = document.getElementById("editor");
    var editor = textarea.editor;
    var spellchecker = editor.getInlineSpellChecker(true);
    spellchecker.enableRealTimeSpell = true;
    textarea.focus();

    onSpellCheck(textarea, function () {
        var list = {}, count = {};
        spellchecker.spellChecker.GetDictionaryList(list, count);
        ok(count.value > 0, "At least one dictionary should be present");

        var lang = list.value[0];
        spellchecker.spellChecker.SetCurrentDictionary(lang);

        onSpellCheck(textarea, function () {
            try {
                var dictionary =
                    spellchecker.spellChecker.GetCurrentDictionary();
            } catch(e) {}
            is(dictionary, lang, "Unexpected spell check dictionary");
            SimpleTest.finish();
        });
    });
}

SimpleTest.waitForExplicitFinish();
addLoadEvent(init);

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