diff -r 000000000000 -r 6474c204b198 browser/devtools/sourceeditor/test/browser_editor_basic.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/sourceeditor/test/browser_editor_basic.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,62 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +function test() { + waitForExplicitFinish(); + setup((ed, win) => { + // appendTo + let src = win.document.querySelector("iframe").getAttribute("src"); + ok(~src.indexOf(".CodeMirror"), "correct iframe is there"); + + // getOption/setOption + ok(ed.getOption("styleActiveLine"), "getOption works"); + ed.setOption("styleActiveLine", false); + ok(!ed.getOption("styleActiveLine"), "setOption works"); + + // Language modes + is(ed.getMode(), Editor.modes.text, "getMode"); + ed.setMode(Editor.modes.js); + is(ed.getMode(), Editor.modes.js, "setMode"); + + // Content + is(ed.getText(), "Hello.", "getText"); + ed.setText("Hi.\nHow are you?"); + is(ed.getText(), "Hi.\nHow are you?", "setText"); + is(ed.getText(1), "How are you?", "getText(num)"); + is(ed.getText(5), "", "getText(num) when num is out of scope"); + + ed.replaceText("YOU", { line: 1, ch: 8 }, { line: 1, ch: 11 }); + is(ed.getText(1), "How are YOU?", "replaceText(str, from, to)"); + ed.replaceText("you?", { line: 1, ch: 8 }); + is(ed.getText(1), "How are you?", "replaceText(str, from)"); + ed.replaceText("Hello."); + is(ed.getText(), "Hello.", "replaceText(str)"); + + ed.insertText(", sir/madam", { line: 0, ch: 5}); + is(ed.getText(), "Hello, sir/madam.", "insertText"); + + // Add-ons + ed.extend({ whoami: () => "Anton", whereami: () => "Mozilla" }); + is(ed.whoami(), "Anton", "extend/1"); + is(ed.whereami(), "Mozilla", "extend/2"); + + // Line classes + ed.setText("Hello!\nHow are you?"); + ok(!ed.hasLineClass(0, "test"), "no test line class"); + ed.addLineClass(0, "test"); + ok(ed.hasLineClass(0, "test"), "test line class is there"); + ed.removeLineClass(0, "test"); + ok(!ed.hasLineClass(0, "test"), "test line class is gone"); + + // Font size + let size = ed.getFontSize(); + is("number", typeof size, "we have the default font size"); + ed.setFontSize(ed.getFontSize() + 1); + is(ed.getFontSize(), size + 1, "new font size was set"); + + teardown(ed, win); + }); +}