diff -r 000000000000 -r 6474c204b198 browser/devtools/scratchpad/test/browser_scratchpad_display_outputs_errors.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/scratchpad/test/browser_scratchpad_display_outputs_errors.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,72 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +/* Bug 690552 */ + +function test() +{ + waitForExplicitFinish(); + + gBrowser.selectedTab = gBrowser.addTab(); + gBrowser.selectedBrowser.addEventListener("load", function browserLoad() { + gBrowser.selectedBrowser.removeEventListener("load", browserLoad, true); + openScratchpad(runTests, {"state":{"text":""}}); + }, true); + + content.location = "data:text/html,

test that exceptions are output as " + + "comments for 'display' and not sent to the console in Scratchpad"; +} + +function runTests() +{ + let scratchpad = gScratchpadWindow.Scratchpad; + + let message = "\"Hello World!\"" + let openComment = "\n/*\n"; + let closeComment = "\n*/"; + let error = "throw new Error(\"Ouch!\")"; + let syntaxError = "("; + + let tests = [{ + method: "display", + code: message, + result: message + openComment + "Hello World!" + closeComment, + label: "message display output" + }, + { + method: "display", + code: error, + result: error + openComment + "Exception: Ouch!\n@" + + scratchpad.uniqueName + ":1:1" + closeComment, + label: "error display output", + }, + { + method: "display", + code: syntaxError, + result: syntaxError + openComment + "Exception: syntax error\n@" + + scratchpad.uniqueName + ":1" + closeComment, + label: "syntaxError display output", + }, + { + method: "run", + code: message, + result: message, + label: "message run output", + }, + { + method: "run", + code: error, + result: error + openComment + "Exception: Ouch!\n@" + + scratchpad.uniqueName + ":1:1" + closeComment, + label: "error run output", + }, + { + method: "run", + code: syntaxError, + result: syntaxError + openComment + "Exception: syntax error\n@" + + scratchpad.uniqueName + ":1" + closeComment, + label: "syntaxError run output", + }]; + + runAsyncTests(scratchpad, tests).then(finish); +}