diff options
Diffstat (limited to 'devtools/client/webconsole/test/node/components/filter-button.test.js')
-rw-r--r-- | devtools/client/webconsole/test/node/components/filter-button.test.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/node/components/filter-button.test.js b/devtools/client/webconsole/test/node/components/filter-button.test.js new file mode 100644 index 0000000000..1600f43312 --- /dev/null +++ b/devtools/client/webconsole/test/node/components/filter-button.test.js @@ -0,0 +1,43 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +const expect = require("expect"); +const { render } = require("enzyme"); + +const { + createFactory, +} = require("resource://devtools/client/shared/vendor/react.js"); + +const FilterButton = createFactory( + require("resource://devtools/client/webconsole/components/FilterBar/FilterButton.js") +); +const { + MESSAGE_LEVEL, +} = require("resource://devtools/client/webconsole/constants.js"); + +describe("FilterButton component:", () => { + const props = { + active: true, + label: "Error", + filterKey: MESSAGE_LEVEL.ERROR, + }; + + it("displays as active when turned on", () => { + const wrapper = render(FilterButton(props)); + expect(wrapper.is("button")).toBe(true); + expect(wrapper.hasClass("devtools-togglebutton")).toBe(true); + expect(wrapper.attr("data-category")).toBe("error"); + expect(wrapper.attr("aria-pressed")).toBe("true"); + expect(wrapper.text()).toBe("Error"); + }); + + it("displays as inactive when turned off", () => { + const wrapper = render(FilterButton({ ...props, active: false })); + expect(wrapper.is("button")).toBe(true); + expect(wrapper.hasClass("devtools-togglebutton")).toBe(true); + expect(wrapper.attr("data-category")).toBe("error"); + expect(wrapper.attr("aria-pressed")).toBe("false"); + expect(wrapper.text()).toBe("Error"); + }); +}); |