Bug 1385791 - Fix tests; r=nchevobbe draft
authorJan Odvarko <odvarko@gmail.com>
Fri, 11 Aug 2017 17:10:55 +0200
changeset 645022 9dac5a4433d2987d83ea861afaf544fd3c69efb4
parent 645021 cbdb2894c4bc67be74bb6c58501662bb18539e37
child 725790 7b871bf09a276c790360095705ff024780e34413
push id73633
push userjodvarko@mozilla.com
push dateFri, 11 Aug 2017 19:11:12 +0000
reviewersnchevobbe
bugs1385791
milestone57.0a1
Bug 1385791 - Fix tests; r=nchevobbe MozReview-Commit-ID: LFKwQHj1pIk
devtools/client/webconsole/new-console-output/test/store/filters.test.js
--- a/devtools/client/webconsole/new-console-output/test/store/filters.test.js
+++ b/devtools/client/webconsole/new-console-output/test/store/filters.test.js
@@ -23,84 +23,106 @@ describe("Filtering", () => {
   const numUnfilterableMessages = 3;
 
   beforeEach(() => {
     store = prepareBaseStore();
     store.dispatch(actions.filtersClear());
     numMessages = getVisibleMessages(store.getState()).length;
   });
 
+  /**
+   * Tests for filter buttons in Console toolbar. The test switches off
+   * all filters and consequently tests one by one on the list of messages
+   * created in `prepareBaseStore` method.
+   */
   describe("Level filter", () => {
+    beforeEach(() => {
+      // Switch off all filters (include those which are on by default).
+      store.dispatch(actions.filtersClear());
+      store.dispatch(actions.filterToggle(MESSAGE_LEVEL.DEBUG));
+      store.dispatch(actions.filterToggle(MESSAGE_LEVEL.ERROR));
+      store.dispatch(actions.filterToggle(MESSAGE_LEVEL.INFO));
+      store.dispatch(actions.filterToggle(MESSAGE_LEVEL.LOG));
+      store.dispatch(actions.filterToggle(MESSAGE_LEVEL.WARN));
+
+      let messages = getVisibleMessages(store.getState());
+      expect(messages.length).toEqual(numUnfilterableMessages);
+    });
+
     it("filters log messages", () => {
       store.dispatch(actions.filterToggle(MESSAGE_LEVEL.LOG));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages - 3);
+      expect(messages.length).toEqual(numUnfilterableMessages + 5);
     });
 
     it("filters debug messages", () => {
       store.dispatch(actions.filterToggle(MESSAGE_LEVEL.DEBUG));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages - 1);
+      expect(messages.length).toEqual(numUnfilterableMessages + 1);
     });
 
-    // @TODO add info stub
-    it("filters info messages");
+    it("filters info messages", () => {
+      store.dispatch(actions.filterToggle(MESSAGE_LEVEL.INFO));
+
+      let messages = getVisibleMessages(store.getState());
+      expect(messages.length).toEqual(numUnfilterableMessages + 1);
+    });
 
     it("filters warning messages", () => {
       store.dispatch(actions.filterToggle(MESSAGE_LEVEL.WARN));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages - 1);
+      expect(messages.length).toEqual(numUnfilterableMessages + 1);
     });
 
     it("filters error messages", () => {
       store.dispatch(actions.filterToggle(MESSAGE_LEVEL.ERROR));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages - 1);
+      expect(messages.length).toEqual(numUnfilterableMessages + 3);
     });
 
     it("filters css messages", () => {
       let message = stubPreparedMessages.get(
         "Unknown property ‘such-unknown-property’.  Declaration dropped."
       );
       store.dispatch(messageAdd(message));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages);
+      expect(messages.length).toEqual(numUnfilterableMessages);
 
       store.dispatch(actions.filterToggle("css"));
       messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages + 1);
+      expect(messages.length).toEqual(numUnfilterableMessages + 1);
     });
 
     it("filters xhr messages", () => {
       let message = stubPreparedMessages.get("XHR GET request");
       store.dispatch(messageAdd(message));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages);
+      expect(messages.length).toEqual(numUnfilterableMessages);
 
       store.dispatch(actions.filterToggle("netxhr"));
       messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages + 1);
+      expect(messages.length).toEqual(numUnfilterableMessages + 1);
     });
 
     it("filters network messages", () => {
       let message = stubPreparedMessages.get("GET request");
       store.dispatch(messageAdd(message));
 
       let messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages);
+      expect(messages.length).toEqual(numUnfilterableMessages);
 
       store.dispatch(actions.filterToggle("net"));
       messages = getVisibleMessages(store.getState());
-      expect(messages.length).toEqual(numMessages + 1);
+      expect(messages.length).toEqual(numUnfilterableMessages + 1);
     });
   });
 
   describe("Text filter", () => {
     it("set the expected property on the store", () => {
       store.dispatch(actions.filterTextSet("danger"));
       expect(getAllFilters(store.getState()).text).toEqual("danger");
     });
@@ -225,16 +247,21 @@ function prepareBaseStore() {
     "console.warn('danger, will robinson!')",
     "console.log(undefined)",
     "console.count('bar')",
     "console.log('鼬')",
     // Evaluation Result - never filtered
     "new Date(0)",
     // PageError
     "ReferenceError: asdf is not defined",
-    "console.group('bar')"
+    "console.group('bar')",
+    "console.debug('debug message');",
+    "console.info('info message');",
+    "console.error('error message');",
+    "console.table(['red', 'green', 'blue']);",
+    "console.assert(false, {message: 'foobar'})",
   ]);
 
   // Console Command - never filtered
   store.dispatch(messageAdd(new ConsoleCommand({ messageText: `console.warn("x")` })));
 
   return store;
 }