Bug 1289258 - Part 4: Convert utils tests to mocha. r=bgrins
--- a/devtools/client/webconsole/new-console-output/moz.build
+++ b/devtools/client/webconsole/new-console-output/moz.build
@@ -17,14 +17,14 @@ DevToolsModules(
'main.js',
'new-console-output-wrapper.js',
'store.js',
'types.js',
)
MOCHITEST_CHROME_MANIFESTS += [
'test/components/chrome.ini',
- 'test/utils/chrome.ini'
+ 'test/mochitest/chrome.ini'
]
XPCSHELL_TESTS_MANIFESTS += [
'test/store/xpcshell.ini'
]
new file mode 100644
--- /dev/null
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/chrome.ini
@@ -0,0 +1,7 @@
+[DEFAULT]
+
+support-files =
+ ../components/head.js
+
+[test_render_perf.html]
+skip-if = debug
rename from devtools/client/webconsole/new-console-output/test/utils/test_render_perf.html
rename to devtools/client/webconsole/new-console-output/test/mochitest/test_render_perf.html
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/utils/chrome.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[DEFAULT]
-
-support-files =
- ../components/head.js
-
-[test_getRepeatId.html]
-[test_render_perf.html]
-skip-if = debug
new file mode 100644
--- /dev/null
+++ b/devtools/client/webconsole/new-console-output/test/utils/getRepeatId.test.js
@@ -0,0 +1,41 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+const { getRepeatId } = require("devtools/client/webconsole/new-console-output/utils/messages");
+const { stubConsoleMessages } = require("devtools/client/webconsole/new-console-output/test/fixtures/stubs");
+
+const expect = require("expect");
+
+describe("getRepeatId:", () => {
+ it("returns same repeatId for duplicate values", () => {
+ const message1 = stubConsoleMessages.get("console.log('foobar', 'test')");
+ const message2 = message1.set("repeat", 3);
+ expect(getRepeatId(message1)).toEqual(getRepeatId(message2));
+ });
+
+ it("returns different repeatIds for different values", () => {
+ const message1 = stubConsoleMessages.get("console.log('foobar', 'test')");
+ const message2 = message1.set("parameters", ["funny", "monkey"]);
+ expect(getRepeatId(message1)).toNotEqual(getRepeatId(message2));
+ });
+
+ it("returns different repeatIds for different severities", () => {
+ const message1 = stubConsoleMessages.get("console.log('foobar', 'test')");
+ const message2 = message1.set("level", "error");
+ expect(getRepeatId(message1)).toNotEqual(getRepeatId(message2));
+ });
+
+ it("handles falsy values distinctly", () => {
+ const messageNaN = stubConsoleMessages.get("console.log(NaN)");
+ const messageUnd = stubConsoleMessages.get("console.log(undefined)");
+ const messageNul = stubConsoleMessages.get("console.log(null)");
+
+ const repeatIds = new Set([
+ getRepeatId(messageNaN),
+ getRepeatId(messageUnd),
+ getRepeatId(messageNul)]
+ );
+ expect(repeatIds.size).toEqual(3);
+ });
+});
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/utils/test_getRepeatId.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
- <meta charset="utf8">
- <title>Test for getRepeatId()</title>
- <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript;version=1.8" src="head.js"></script>
- <!-- Any copyright is dedicated to the Public Domain.
- - http://creativecommons.org/publicdomain/zero/1.0/ -->
-</head>
-<body>
-<p>Test for getRepeatId()</p>
-
-<script type="text/javascript;version=1.8">
-window.onload = Task.async(function* () {
- const { getRepeatId } = require("devtools/client/webconsole/new-console-output/utils/messages");
-
- yield testDuplicateValues();
- yield testDifferentValues();
- yield testDifferentSeverities();
- yield testFalsyValues();
-
- SimpleTest.finish();
-
- function testDuplicateValues() {
- const message1 = stubConsoleMessages.get("console.log('foobar', 'test')");
- const message2 = message1.set("repeat", 3);
-
- is(getRepeatId(message1), getRepeatId(message2),
- "getRepeatId() returns same repeat id for objects with the same values");
- }
-
- function testDifferentValues() {
- const message1 = stubConsoleMessages.get("console.log('foobar', 'test')");
- const message2 = message1.set("parameters", ["funny", "monkey"]);
-
- isnot(getRepeatId(message1), getRepeatId(message2),
- "getRepeatId() returns different repeat ids for different values");
- }
-
- function testDifferentSeverities() {
- const message1 = stubConsoleMessages.get("console.log('foobar', 'test')");
- const message2 = message1.set("level", "error");
-
- isnot(getRepeatId(message1), getRepeatId(message2),
- "getRepeatId() returns different repeat ids for different severities");
- }
-
- function testFalsyValues() {
- const messageNaN = stubConsoleMessages.get("console.log(NaN)");
- const messageUnd = stubConsoleMessages.get("console.log(undefined)");
- const messageNul = stubConsoleMessages.get("console.log(null)");
-
- const repeatIds = new Set([
- getRepeatId(messageNaN),
- getRepeatId(messageUnd),
- getRepeatId(messageNul)]
- );
- is(repeatIds.size, 3,
- "getRepeatId() handles falsy values distinctly");
- }
-});
-</script>
-</body>
-</html>