Bug 1289258 - Part 3: Convert action test to Mocha. r=bgrins
MozReview-Commit-ID: LFqvilPHUe1
--- a/devtools/client/webconsole/new-console-output/moz.build
+++ b/devtools/client/webconsole/new-console-output/moz.build
@@ -20,12 +20,11 @@ DevToolsModules(
'types.js',
)
MOCHITEST_CHROME_MANIFESTS += [
'test/components/chrome.ini',
'test/utils/chrome.ini'
]
XPCSHELL_TESTS_MANIFESTS += [
- 'test/actions/xpcshell.ini',
'test/store/xpcshell.ini'
]
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/actions/head.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-var { utils: Cu } = Components;
-var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
-
-var DevToolsUtils = require("devtools/shared/DevToolsUtils");
-var flags = require("devtools/shared/flags");
-flags.testing = true;
-flags.wantLogging = true;
-flags.wantVerbose = false;
-
-// @TODO consolidate once we have a shared head. See #16
-const testPackets = new Map();
-testPackets.set("console.log", {
- "from": "server1.conn4.child1/consoleActor2",
- "type": "consoleAPICall",
- "message": {
- "arguments": [
- "foobar",
- "test"
- ],
- "columnNumber": 1,
- "counter": null,
- "filename": "file:///test.html",
- "functionName": "",
- "groupName": "",
- "level": "log",
- "lineNumber": 1,
- "private": false,
- "styles": [],
- "timeStamp": 1455064271115,
- "timer": null,
- "workerType": "none",
- "category": "webdev"
- }
-});
new file mode 100644
--- /dev/null
+++ b/devtools/client/webconsole/new-console-output/test/actions/messages.test.js
@@ -0,0 +1,65 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+const {
+ messageAdd,
+ messagesClear
+} = require("devtools/client/webconsole/new-console-output/actions/messages");
+const { getRepeatId } = require("devtools/client/webconsole/new-console-output/utils/messages");
+const { stubConsoleMessages } = require("devtools/client/webconsole/new-console-output/test/fixtures/stubs");
+const constants = require("devtools/client/webconsole/new-console-output/constants");
+
+const expect = require("expect");
+
+describe("Message actions:", () => {
+ describe("messageAdd", () => {
+ it("creates expected action given a packet", () => {
+ const packet = {
+ "from": "server1.conn4.child1/consoleActor2",
+ "type": "consoleAPICall",
+ "message": {
+ "arguments": [
+ "foobar",
+ "test"
+ ],
+ "columnNumber": 1,
+ "counter": null,
+ "filename": "file:///test.html",
+ "functionName": "",
+ "groupName": "",
+ "level": "log",
+ "lineNumber": 1,
+ "private": false,
+ "styles": [],
+ "timeStamp": 1455064271115,
+ "timer": null,
+ "workerType": "none",
+ "category": "webdev"
+ }
+ };
+ const action = messageAdd(packet);
+ const expected = {
+ type: constants.MESSAGE_ADD,
+ message: stubConsoleMessages.get("console.log('foobar', 'test')")
+ };
+
+ // Some values on the message are generated by prepareMessage. Manually set
+ // these on the expected message to match.
+ expected.message = expected.message.set("repeatId", getRepeatId(expected.message));
+ expected.message = expected.message.set("id", "0");
+
+ expect(action).toEqual(expected);
+ });
+ });
+
+ describe("messagesClear", () => {
+ it("creates expected action", () => {
+ const action = messagesClear();
+ const expected = {
+ type: constants.MESSAGES_CLEAR,
+ };
+ expect(action).toEqual(expected);
+ });
+ });
+});
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/actions/test_messages.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-"use strict";
-
-const {
- messageAdd,
- messagesClear
-} = require("devtools/client/webconsole/new-console-output/actions/messages");
-const {
- prepareMessage
-} = require("devtools/client/webconsole/new-console-output/utils/messages");
-const constants = require("devtools/client/webconsole/new-console-output/constants");
-
-function run_test() {
- run_next_test();
-}
-
-add_task(function* () {
- const packet = testPackets.get("console.log");
- const action = messageAdd(packet);
- const expected = {
- type: constants.MESSAGE_ADD,
- // Prepare message is tested independently.
- message: prepareMessage(packet)
- };
- // Remove ID for deepEqual comparison.
- action.message = action.message.remove('id');
- expected.message = expected.message.remove('id');
- deepEqual(action, expected,
- "messageAdd action creator returns expected action object");
-});
-
-add_task(function* () {
- const action = messagesClear();
- const expected = {
- type: constants.MESSAGES_CLEAR,
- };
- deepEqual(action, expected,
- "messagesClear action creator returns expected action object");
-});
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/actions/xpcshell.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[DEFAULT]
-tags = devtools devtools-webconsole
-head = head.js
-tail =
-firefox-appdir = browser
-
-[test_messages.js]
\ No newline at end of file