123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
- // only finish() when correct number of tests are done
- const expected = 4;
- var count = 0;
- var lastUniqueName = null;
- function done()
- {
- if (++count == expected) {
- finish();
- }
- }
- function test()
- {
- waitForExplicitFinish();
- testOpen();
- testOpenWithState();
- testOpenInvalidState();
- testOpenTestFile();
- }
- function testUniqueName(name)
- {
- ok(name, "Scratchpad has a uniqueName");
- if (lastUniqueName === null) {
- lastUniqueName = name;
- return;
- }
- ok(name !== lastUniqueName,
- "Unique name for this instance differs from the last one.");
- }
- function testOpen()
- {
- openScratchpad(function (win) {
- is(win.Scratchpad.filename, undefined, "Default filename is undefined");
- isnot(win.Scratchpad.getText(), null, "Default text should not be null");
- is(win.Scratchpad.executionContext, win.SCRATCHPAD_CONTEXT_CONTENT,
- "Default execution context is content");
- testUniqueName(win.Scratchpad.uniqueName);
- win.close();
- done();
- }, {noFocus: true});
- }
- function testOpenWithState()
- {
- let state = {
- filename: "testfile",
- executionContext: 2,
- text: "test text"
- };
- openScratchpad(function (win) {
- is(win.Scratchpad.filename, state.filename, "Filename loaded from state");
- is(win.Scratchpad.executionContext, state.executionContext, "Execution context loaded from state");
- is(win.Scratchpad.getText(), state.text, "Content loaded from state");
- testUniqueName(win.Scratchpad.uniqueName);
- win.close();
- done();
- }, {state: state, noFocus: true});
- }
- function testOpenInvalidState()
- {
- let win = openScratchpad(null, {state: 7});
- ok(!win, "no scratchpad opened if state is not an object");
- done();
- }
- function testOpenTestFile()
- {
- let win = openScratchpad(function (win) {
- ok(win, "scratchpad opened for file open");
- try {
- win.Scratchpad.importFromFile(
- "http://example.com/browser/devtools/client/scratchpad/test/NS_ERROR_ILLEGAL_INPUT.txt",
- "silent",
- function (aStatus, content) {
- let nb = win.document.querySelector("#scratchpad-notificationbox");
- is(nb.querySelectorAll("notification").length, 1, "There is just one notification");
- let cn = nb.currentNotification;
- is(cn.priority, nb.PRIORITY_WARNING_HIGH, "notification priority is correct");
- is(cn.value, "file-import-convert-failed", "notification value is corrent");
- is(cn.type, "warning", "notification type is correct");
- done();
- });
- ok(true, "importFromFile does not cause exception");
- } catch (exception) {
- ok(false, "importFromFile causes exception " + DevToolsUtils.safeErrorString(exception));
- }
- }, {noFocus: true});
- }
|