diff options
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_callwatcher-02.js')
-rw-r--r-- | devtools/client/webaudioeditor/test/browser_callwatcher-02.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_callwatcher-02.js b/devtools/client/webaudioeditor/test/browser_callwatcher-02.js new file mode 100644 index 000000000..f901efdcb --- /dev/null +++ b/devtools/client/webaudioeditor/test/browser_callwatcher-02.js @@ -0,0 +1,44 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Bug 1112378 + * Tests to ensure that errors called on wrapped functions via call-watcher + * correctly looks like the error comes from the content, not from within the devtools. + */ + +const BUG_1112378_URL = EXAMPLE_URL + "doc_bug_1112378.html"; + +add_task(function* () { + let { target, panel } = yield initWebAudioEditor(BUG_1112378_URL); + let { panelWin } = panel; + let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin; + + loadFrameScripts(); + + let rendered = waitForGraphRendered(panelWin, 2, 0); + reload(target); + yield rendered; + + let error = yield evalInDebuggee("throwError()"); + is(error.lineNumber, 21, "error has correct lineNumber"); + is(error.columnNumber, 11, "error has correct columnNumber"); + is(error.name, "TypeError", "error has correct name"); + is(error.message, "Argument 1 is not valid for any of the 2-argument overloads of AudioNode.connect.", "error has correct message"); + is(error.stringified, "TypeError: Argument 1 is not valid for any of the 2-argument overloads of AudioNode.connect.", "error is stringified correctly"); + is(error.instanceof, true, "error is correctly an instanceof TypeError"); + is(error.fileName, "http://example.com/browser/devtools/client/webaudioeditor/test/doc_bug_1112378.html", "error has correct fileName"); + + error = yield evalInDebuggee("throwDOMException()"); + is(error.lineNumber, 37, "exception has correct lineNumber"); + is(error.columnNumber, 0, "exception has correct columnNumber"); + is(error.code, 9, "exception has correct code"); + is(error.result, 2152923145, "exception has correct result"); + is(error.name, "NotSupportedError", "exception has correct name"); + is(error.message, "Operation is not supported", "exception has correct message"); + is(error.stringified, "NotSupportedError: Operation is not supported", "exception is stringified correctly"); + is(error.instanceof, true, "exception is correctly an instance of DOMException"); + is(error.filename, "http://example.com/browser/devtools/client/webaudioeditor/test/doc_bug_1112378.html", "exception has correct filename"); + + yield teardown(target); +}); |