summaryrefslogtreecommitdiffstats
path: root/devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/scratchpad/test/browser_scratchpad_throw_output.js')
-rw-r--r--devtools/client/scratchpad/test/browser_scratchpad_throw_output.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/devtools/client/scratchpad/test/browser_scratchpad_throw_output.js b/devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
new file mode 100644
index 000000000..cfcd5e049
--- /dev/null
+++ b/devtools/client/scratchpad/test/browser_scratchpad_throw_output.js
@@ -0,0 +1,52 @@
+/* vim: set ts=2 et sw=2 tw=80: */
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+
+function test()
+{
+ waitForExplicitFinish();
+
+ gBrowser.selectedTab = gBrowser.addTab();
+ gBrowser.selectedBrowser.addEventListener("load", function onLoad() {
+ gBrowser.selectedBrowser.removeEventListener("load", onLoad, true);
+ openScratchpad(testThrowOutput);
+ }, true);
+
+ content.location = "data:text/html;charset=utf8,<p>Test throw outputs in Scratchpad</p>";
+}
+
+function testThrowOutput()
+{
+ let scratchpad = gScratchpadWindow.Scratchpad, tests = [];
+
+ let falsyValues = ["false", "0", "-0", "null", "undefined", "Infinity",
+ "-Infinity", "NaN"];
+ falsyValues.forEach(function (value) {
+ tests.push({
+ method: "display",
+ code: "throw " + value + ";",
+ result: "throw " + value + ";\n/*\nException: " + value + "\n*/",
+ label: "Correct exception message for '" + value + "' is shown"
+ });
+ });
+
+ let { DebuggerServer } = require("devtools/server/main");
+
+ let longLength = DebuggerServer.LONG_STRING_LENGTH + 1;
+ let longString = new Array(longLength).join("a");
+ let shortedString = longString.substring(0,
+ DebuggerServer.LONG_STRING_INITIAL_LENGTH) + "\u2026";
+
+ tests.push({
+ method: "display",
+ code: "throw (new Array(" + longLength + ").join('a'));",
+ result: "throw (new Array(" + longLength + ").join('a'));\n" +
+ "/*\nException: " + shortedString + "\n*/",
+ label: "Correct exception message for a longString is shown"
+ });
+
+ runAsyncTests(scratchpad, tests).then(function () {
+ finish();
+ });
+}