Bug 1454207 - Part 4: Adds a mochitest in the Web Console to check if a referenceError is reported correctly with an undefined Unicode identifier. r?nchevobbe draft
authorZhang Junzhi <zjz@zjz.name>
Sun, 15 Apr 2018 14:10:21 +0800
changeset 782295 f687b8c649b36905c7621663100fbb601a440013
parent 782294 ea4cb611fe8e7cfed8d3e265011711d1acbb9a34
push id106509
push userbmo:zjz@zjz.name
push dateSun, 15 Apr 2018 06:10:46 +0000
reviewersnchevobbe
bugs1454207
milestone61.0a1
Bug 1454207 - Part 4: Adds a mochitest in the Web Console to check if a referenceError is reported correctly with an undefined Unicode identifier. r?nchevobbe MozReview-Commit-ID: Cls3xaPTzKb
devtools/client/webconsole/test/mochitest/browser.ini
devtools/client/webconsole/test/mochitest/browser_console_error_with_unicode.js
--- a/devtools/client/webconsole/test/mochitest/browser.ini
+++ b/devtools/client/webconsole/test/mochitest/browser.ini
@@ -164,16 +164,17 @@ support-files =
 [browser_console_clear_method.js]
 skip-if = true # Bug 1437843
 [browser_console_consolejsm_output.js]
 [browser_console_context_menu_entries.js]
 skip-if = (os == "linux" && (debug || ccov)) # Bug 1440059
 [browser_console_dead_objects.js]
 [browser_console_devtools_loader_exception.js]
 [browser_console_error_source_click.js]
+[browser_console_error_with_unicode.js]
 [browser_console_filters.js]
 [browser_console_nsiconsolemessage.js]
 [browser_console_open_or_focus.js]
 [browser_console_restore.js]
 [browser_console_webconsole_console_api_calls.js]
 [browser_console_webconsole_ctrlw_close_tab.js]
 [browser_console_webconsole_iframe_messages.js]
 [browser_console_webconsole_private_browsing.js]
new file mode 100644
--- /dev/null
+++ b/devtools/client/webconsole/test/mochitest/browser_console_error_with_unicode.js
@@ -0,0 +1,26 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Check if an error with Unicode characters is reported correctly.
+
+"use strict";
+
+const TEST_URI = "data:text/html;charset=utf8,<script>\u6e2c</script>";
+const EXPECTED_REPORT = "ReferenceError: \u6e2c is not defined";
+
+add_task(async function() {
+  await addTab("data:text/html;charset=utf8,<script>\u6e2c</script>");
+  let hud = await HUDService.toggleBrowserConsole();
+  ok(hud, "browser console opened");
+
+  // On e10s, the exception is triggered in child process
+  // and is ignored by test harness
+  if (!Services.appinfo.browserTabsRemoteAutostart) {
+    expectUncaughtException();
+  }
+
+  info("generate exception and wait for the message");
+
+  let msg = await waitFor(() => findMessage(hud, EXPECTED_REPORT));
+  ok(msg, `Message found: "${EXPECTED_REPORT}"`);
+});