@ukic/web-components 2.24.0 → 2.25.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
- package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +7 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +23 -1
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +1 -1
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +1 -1
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +2 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +2 -3
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-accordion/ic-accordion.css +7 -2
- package/dist/collection/components/ic-accordion/ic-accordion.js +1 -1
- package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
- package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +2 -2
- package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
- package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +2 -2
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +7 -1
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +1 -1
- package/dist/collection/components/ic-button/ic-button.js +14 -1
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +19 -0
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
- package/dist/collection/components/ic-card/ic-card.css +7 -2
- package/dist/collection/components/ic-footer/ic-footer.js +1 -1
- package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.css +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +1 -1
- package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +2 -18
- package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +2 -2
- package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +2 -34
- package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
- package/dist/collection/components/ic-link/ic-link.css +1 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +2 -2
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +2 -2
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
- package/dist/collection/components/ic-page-header/ic-page-header.js +3 -3
- package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +7 -0
- package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +2 -2
- package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +2 -2
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1 -1
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +1 -1
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
- package/dist/collection/components/ic-status-tag/ic-status-tag.css +10 -0
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +5 -4
- package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +2 -2
- package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.js +1 -1
- package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js +1 -1
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +2 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
- package/dist/collection/components/ic-text-field/ic-text-field.js +4 -5
- package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +2 -2
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +4 -4
- package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +29 -0
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +2 -2
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
- package/dist/collection/components/ic-typography/ic-typography.css +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +1 -1
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
- package/dist/components/ic-accordion-group.js +1 -1
- package/dist/components/ic-accordion-group.js.map +1 -1
- package/dist/components/ic-accordion.js +2 -2
- package/dist/components/ic-accordion.js.map +1 -1
- package/dist/components/ic-back-to-top.js +7 -1
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +1 -1
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +14 -1
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +1 -1
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-footer-link-group.js +2 -2
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +2 -2
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +1 -1
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-page-header.js +3 -3
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-side-navigation.js +1 -1
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-status-tag.js +2 -1
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-tab-context.js +2 -2
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab.js +1 -1
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +2 -3
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-tooltip2.js +11 -1
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +2 -2
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +1 -1
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-18536c24.entry.js +2 -0
- package/dist/core/p-18536c24.entry.js.map +1 -0
- package/dist/core/{p-d79a1565.entry.js → p-20f1b05a.entry.js} +2 -2
- package/dist/core/p-20f1b05a.entry.js.map +1 -0
- package/dist/core/{p-984e07a2.entry.js → p-2c9cf064.entry.js} +2 -2
- package/dist/core/{p-984e07a2.entry.js.map → p-2c9cf064.entry.js.map} +1 -1
- package/dist/core/{p-a340a923.entry.js → p-3574b7e4.entry.js} +2 -2
- package/dist/core/p-3574b7e4.entry.js.map +1 -0
- package/dist/core/{p-e3675a83.entry.js → p-52855153.entry.js} +2 -2
- package/dist/core/p-52855153.entry.js.map +1 -0
- package/dist/core/p-6167880d.entry.js.map +1 -1
- package/dist/core/{p-65ddd1b0.entry.js → p-73e5eca2.entry.js} +2 -2
- package/dist/core/p-73e5eca2.entry.js.map +1 -0
- package/dist/core/p-74e3ca39.entry.js +2 -0
- package/dist/core/p-74e3ca39.entry.js.map +1 -0
- package/dist/core/{p-4c5eafd6.entry.js → p-88c0dc04.entry.js} +2 -2
- package/dist/core/p-88c0dc04.entry.js.map +1 -0
- package/dist/core/p-9128a8e0.entry.js.map +1 -1
- package/dist/core/{p-96f92fdc.entry.js → p-92c7f4c5.entry.js} +2 -2
- package/dist/core/p-92c7f4c5.entry.js.map +1 -0
- package/dist/core/p-9ec428cc.entry.js +2 -0
- package/dist/core/p-9ec428cc.entry.js.map +1 -0
- package/dist/core/p-a10eebcc.entry.js +2 -0
- package/dist/core/p-a10eebcc.entry.js.map +1 -0
- package/dist/core/{p-d4e6c64e.entry.js → p-a305dc90.entry.js} +2 -2
- package/dist/core/p-a305dc90.entry.js.map +1 -0
- package/dist/core/p-bf70fe93.entry.js.map +1 -1
- package/dist/core/p-c9efaee1.entry.js.map +1 -1
- package/dist/core/p-ced03499.entry.js +2 -0
- package/dist/core/p-ced03499.entry.js.map +1 -0
- package/dist/core/{p-a3fa8e25.entry.js → p-e720925a.entry.js} +2 -2
- package/dist/core/p-e720925a.entry.js.map +1 -0
- package/dist/core/p-e735d773.entry.js +2 -0
- package/dist/core/p-e735d773.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion-group.entry.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +2 -2
- package/dist/esm/ic-accordion.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +7 -1
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +23 -1
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +2 -2
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +2 -2
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +3 -3
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +2 -1
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +2 -2
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +2 -3
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +2 -2
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -0
- package/dist/types/components/ic-button/ic-button.d.ts +2 -0
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +1 -1
- package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +2 -2
- package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
- package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +1 -1
- package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -2
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
- package/dist/types/components.d.ts +9 -8
- package/hydrate/index.js +57 -28
- package/package.json +2 -2
- package/vscode-data.json +6 -3
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +0 -29
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +0 -1
- package/dist/core/p-04f98d04.entry.js +0 -2
- package/dist/core/p-04f98d04.entry.js.map +0 -1
- package/dist/core/p-4c5eafd6.entry.js.map +0 -1
- package/dist/core/p-65ddd1b0.entry.js.map +0 -1
- package/dist/core/p-7e801198.entry.js +0 -2
- package/dist/core/p-7e801198.entry.js.map +0 -1
- package/dist/core/p-905e4232.entry.js +0 -2
- package/dist/core/p-905e4232.entry.js.map +0 -1
- package/dist/core/p-96f92fdc.entry.js.map +0 -1
- package/dist/core/p-a2704b98.entry.js +0 -2
- package/dist/core/p-a2704b98.entry.js.map +0 -1
- package/dist/core/p-a340a923.entry.js.map +0 -1
- package/dist/core/p-a3fa8e25.entry.js.map +0 -1
- package/dist/core/p-c532b8bd.entry.js +0 -2
- package/dist/core/p-c532b8bd.entry.js.map +0 -1
- package/dist/core/p-d4e6c64e.entry.js.map +0 -1
- package/dist/core/p-d79a1565.entry.js.map +0 -1
- package/dist/core/p-defa21f5.entry.js +0 -2
- package/dist/core/p-defa21f5.entry.js.map +0 -1
- package/dist/core/p-e3675a83.entry.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ic-search-bar.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-search-bar/test/basic/ic-search-bar.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SearchBar } from \"../../ic-search-bar\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\nimport { Menu } from \"../../../ic-menu/ic-menu\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\nimport { InputContainer } from \"../../../ic-input-container/ic-input-container\";\nimport { InputLabel } from \"../../../ic-input-label/ic-input-label\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst menuOptions = [\n { label: \"Espresso\", value: \"espresso\" },\n { label: \"Double Espresso\", value: \"doubleespresso\" },\n { label: \"Flat White\", value: \"flatwhite\" },\n {\n label: \"Cappuccino\",\n value: \"cappucino\",\n description: \"with chocolate is best!\",\n },\n { label: \"Americano\", value: \"americano\" },\n { label: \"Ameno\", value: \"ameno\" },\n {\n label: \"Tea\",\n value: \"tea\",\n children: [{ label: \"green\", value: \"green\" }],\n },\n { label: \"Aicano\", value: \"acano\" },\n { label: \"Mocha\", value: \"mocha\" },\n];\n\ndescribe(\"ic-search-bar search\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render with value\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" value=\"foo\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-value\");\n });\n\n it(\"should render aria-label when hidelLabel is set\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" hide-label=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-hidden-label\");\n });\n\n it(\"should render required variant\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" required=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-required\");\n });\n\n it(\"should render disabled variant\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" disabled=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-disabled\");\n });\n\n it(\"should render readonly variant\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" readonly=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-readonly\");\n });\n\n it(\"should render with options\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(\"renders-with-options\");\n });\n\n it(\"should render with helper-text\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" helper-text=\"This is a description\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(\"renders-with-helpertext\");\n });\n\n it(\"should test clear button\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.showClearButton).toBe(false);\n await page.rootInstance.handleShowClearButton(true);\n await page.waitForChanges();\n expect(page.rootInstance.showClearButton).toBe(true);\n\n expect(page.rootInstance.clearButtonFocused).toBe(false);\n await page.rootInstance.handleFocusClearButton();\n await page.waitForChanges();\n expect(page.rootInstance.clearButtonFocused).toBe(true);\n });\n\n it(\"should test handleMenuChange\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icMenuChange\", eventSpy);\n const focusEvent = jest.spyOn(SearchBar.prototype, \"setFocus\");\n\n await page.rootInstance.handleMenuChange({ detail: { open: true } });\n expect(page.rootInstance.open).toBe(true);\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n\n await page.rootInstance.handleMenuChange({\n detail: { open: false, focusInput: true },\n });\n expect(page.rootInstance.open).toBe(false);\n await page.waitForChanges();\n expect(focusEvent).toHaveBeenCalled();\n });\n\n it(\"should test host blur\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n const focusEventSpy = jest.fn();\n page.win.addEventListener(\"icSearchBarFocus\", focusEventSpy);\n page.root.focus();\n await page.waitForChanges();\n expect(focusEventSpy).toHaveBeenCalled();\n expect(page.rootInstance.open).toBeTruthy;\n\n const blurEventSpy = jest.fn();\n page.win.addEventListener(\"icSearchBarBlur\", blurEventSpy);\n page.root.blur();\n await page.waitForChanges();\n expect(blurEventSpy).toHaveBeenCalled();\n expect(page.rootInstance.open).toBeFalsy;\n\n page.rootInstance.menuCloseFromMenuChangeEvent = true;\n page.root.focus();\n await page.waitForChanges();\n expect(page.rootInstance.open).toBeFalsy;\n });\n\n it(\"should test search submit button events\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<form><ic-search-bar label=\"Test label\" value=\"espresso\" focus-on-load=\"true\"></ic-search-bar></form>',\n });\n\n const searchButton = page.root.shadowRoot.querySelector(\n \"#search-submit-button\"\n ) as HTMLIcButtonElement;\n\n searchButton.focus();\n await page.waitForChanges();\n expect(page.rootInstance.searchSubmitFocused).toBe(true);\n\n const blurEventSpy = jest.fn();\n page.win.addEventListener(\"icSubmitSearchBlur\", blurEventSpy);\n searchButton.blur();\n await page.waitForChanges();\n expect(blurEventSpy).toHaveBeenCalled();\n\n const clickEventSpy = jest.fn();\n page.win.addEventListener(\"icSubmitSearch\", clickEventSpy);\n searchButton.click();\n await page.waitForChanges();\n expect(clickEventSpy).toHaveBeenCalled();\n expect(clickEventSpy).toHaveBeenCalledTimes(1);\n\n const event = new KeyboardEvent(\"keydown\", { key: \" \" });\n await page.rootInstance.handleSubmitSearchKeyDown(event);\n await page.waitForChanges();\n expect(clickEventSpy).toHaveBeenCalledTimes(2);\n });\n\n it(\"should test keydown event - arrow down\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n const eventSpy = jest.fn();\n page.win.addEventListener(\"menuOptionId\", eventSpy);\n\n const menu = page.root.shadowRoot.querySelector(\"ic-menu\");\n menu.autoFocusOnSelected = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowDown\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled;\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Enter\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"doubleespresso\");\n });\n\n it(\"should test searchMode = `query`\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" search-mode=\"query\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Enter\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"\");\n });\n\n it(\"should test keydown event - arrow up\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n const focusSpy = jest.spyOn(SearchBar.prototype, \"setFocus\");\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n const eventSpy = jest.fn();\n page.win.addEventListener(\"menuOptionId\", eventSpy);\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"1\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(focusSpy).toHaveBeenCalled;\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowUp\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled;\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowUp\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Enter\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"acano\");\n\n page.rootInstance.open = true;\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Backspace\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(page.rootInstance.value).toBe(\"acano\");\n });\n\n it(\"should test keydown event - backspace\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n const focusEvent = jest.spyOn(SearchBar.prototype, \"setFocus\");\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Backspace\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(page.rootInstance.value).toBe(\"espresso\");\n expect(focusEvent).toHaveBeenCalled;\n });\n\n it(\"should test wrap around in menu\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowUp\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowDown\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"espresso\");\n });\n\n it(\"should test menu item click\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n let items = Array.from(page.root.shadowRoot.querySelectorAll(\"ic-menu li\"));\n\n (items[2] as HTMLElement).click();\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"flatwhite\");\n\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n items = Array.from(page.root.shadowRoot.querySelectorAll(\"ic-menu li\"));\n\n (items[2] as HTMLElement).blur();\n expect(page.rootInstance.open).toBe(false);\n });\n\n it(\"should test keydown event - escape\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Tab\", preventDefault: (): void => null } },\n });\n await page.rootInstance.handleKeyDown({\n detail: {\n event: {\n key: \"Escape\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n },\n },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"espresso\");\n expect(page.rootInstance.open).toBe(false);\n });\n\n it(\"should test key up event\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyUp({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.open).toBe(false);\n\n page.rootInstance.preventSubmit = true;\n page.rootInstance.open = true;\n await page.waitForChanges();\n await page.rootInstance.handleKeyUp({ key: \"Escape\" });\n\n expect(page.rootInstance.open).toBe(false);\n expect(page.rootInstance.preventSubmit).toBe(false);\n\n page.rootInstance.preventSubmit = true;\n page.rootInstance.open = true;\n await page.waitForChanges();\n await page.rootInstance.handleKeyUp({ key: \"Enter\" });\n expect(page.rootInstance.open).toBe(true);\n });\n\n it(\"should test changing value\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.value = \"mocha\";\n await page.waitForChanges();\n expect(page.rootInstance.value).toBe(\"mocha\");\n expect(page.rootInstance.inputEl.value).toBe(\"mocha\");\n });\n\n it(\"should test input event handler\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" ></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n textfield.dispatchEvent(event);\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.open).toBe(true);\n expect(page.rootInstance.showClearButton).toBe(true);\n\n const searchResultsStatusEl = page.root.shadowRoot.querySelector(\n \".search-results-status\"\n ) as HTMLParagraphElement;\n expect(searchResultsStatusEl).toEqualText(\"2 results available\");\n });\n\n it(\"should test clear button events\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n const clearButton = page.root.shadowRoot.querySelector(\n \"#clear-button\"\n ) as HTMLIcButtonElement;\n\n clearButton.focus();\n await page.waitForChanges();\n expect(page.rootInstance.clearButtonFocused).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icClearBlur\", eventSpy);\n clearButton.blur();\n await waitForTimeout(500);\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n\n clearButton.click();\n await page.waitForChanges();\n await waitForTimeout(500);\n expect(page.rootInstance.value).toBe(\"\");\n\n //test disconnected callback\n await page.setContent(\"\");\n expect(page.rootInstance.assistiveHintEl).toBeNull;\n });\n\n it(\"should test select of empty option list text\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icOptionSelect\", eventSpy);\n await page.waitForChanges();\n await page.rootInstance.handleOptionSelect({\n detail: { label: \"No results found\" },\n });\n await page.waitForChanges();\n expect(eventSpy).not.toHaveBeenCalled;\n });\n\n it(\"should test select of empty option list text with previous option\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n await page.rootInstance.handleOptionSelect({\n detail: { label: \"No results found\" },\n });\n\n expect(page.rootInstance.prevNoOption).toBe(false);\n page.rootInstance.prevNoOption = true;\n await page.waitForChanges();\n await page.rootInstance.highlightFirstOptionAfterNoResults();\n expect(page.rootInstance.prevNoOption).toBe(false);\n });\n\n it(\"should test loading state when no options passed and filtering disabled\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" helper-text=\"This is a description\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.value = \"aa\";\n textfield.dispatchEvent(event);\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.filteredOptions).toHaveLength(1);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading...\");\n });\n\n it(\"should test loading timeout and retry when options is not populated before the timeout is finished\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" helper-text=\"This is a description\" disable-filter=\"true\" timeout=\"1000\"></ic-search-bar>',\n });\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.value = \"lo\";\n textfield.dispatchEvent(event);\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.filteredOptions).toHaveLength(1);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading...\");\n\n //takes wait time to over timeout time\n await waitForTimeout(400);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading Error\");\n\n page.rootInstance.open = true;\n await page.waitForChanges();\n const retryButton = page.root.shadowRoot\n .querySelector(\"ic-menu\")\n .querySelector(\"#retry-button\") as HTMLIcButtonElement;\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icRetryLoad\", eventSpy);\n\n retryButton.click();\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading...\");\n expect(eventSpy).toHaveBeenCalled();\n\n page.root.options = [];\n await page.waitForChanges();\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\n \"No results found\"\n );\n //to ensure timeout was cancelled\n await waitForTimeout(1000);\n expect(page.rootInstance.filteredOptions[0].label).not.toEqual(\n \"Loading Error\"\n );\n\n // Tests hadNoOptions() when options is updated\n page.rootInstance.open = false;\n page.root.options = [];\n await page.waitForChanges();\n expect(page.rootInstance.open).toBeFalsy;\n });\n\n it(\"should test retry loading with keyboard navigation\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" helper-text=\"This is a description\" disable-filter=\"true\" timeout=\"1000\"></ic-search-bar>',\n });\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.value = \"lo\";\n textfield.dispatchEvent(event);\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update and timeout\n await waitForTimeout(1100);\n\n const retryClick = jest.spyOn(TextField.prototype, \"setFocus\");\n page.rootInstance.handleRetry({\n detail: { keyPressed: \"Enter\", value: \"lo\" },\n });\n await page.waitForChanges();\n page.rootInstance.handleHostBlur({ relatedTarget: textfield });\n await page.waitForChanges();\n expect(retryClick).toHaveBeenCalled;\n expect(page.rootInstance.open).toBeTruthy;\n });\n\n it(\"should render a hidden assistive element on load\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, TextField, InputContainer, InputLabel],\n html: '<ic-search-bar label=\"Test label\" hint-text=\"Hint\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n expect(page.rootInstance.assistiveHintEl).not.toBeNull;\n expect(page.rootInstance.assistiveHintEl.innerText).toBe(\"Hint\");\n });\n\n it(\"should test mousedown handler\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" value=\"test\"></ic-search-bar>',\n });\n\n await page.rootInstance.handleMouseDown({\n preventDefault: (): void => null,\n });\n\n await page.waitForChanges();\n\n expect(page.root.value).toBe(\"test\");\n });\n});\n"]}
|
1
|
+
{"version":3,"file":"ic-search-bar.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-search-bar/test/basic/ic-search-bar.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SearchBar } from \"../../ic-search-bar\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { TextField } from \"../../../ic-text-field/ic-text-field\";\nimport { Menu } from \"../../../ic-menu/ic-menu\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\nimport { InputContainer } from \"../../../ic-input-container/ic-input-container\";\nimport { InputLabel } from \"../../../ic-input-label/ic-input-label\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst menuOptions = [\n { label: \"Espresso\", value: \"espresso\" },\n { label: \"Double Espresso\", value: \"doubleespresso\" },\n { label: \"Flat White\", value: \"flatwhite\" },\n {\n label: \"Cappuccino\",\n value: \"cappuccino\",\n description: \"with chocolate is best!\",\n },\n { label: \"Americano\", value: \"americano\" },\n { label: \"Ameno\", value: \"ameno\" },\n {\n label: \"Tea\",\n value: \"tea\",\n children: [{ label: \"green\", value: \"green\" }],\n },\n { label: \"Aicano\", value: \"acano\" },\n { label: \"Mocha\", value: \"mocha\" },\n];\n\ndescribe(\"ic-search-bar search\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders\");\n });\n\n it(\"should render with value\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" value=\"foo\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-value\");\n });\n\n it(\"should render aria-label when hideLabel is set\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" hide-label=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-with-hidden-label\");\n });\n\n it(\"should render required variant\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" required=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-required\");\n });\n\n it(\"should render disabled variant\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" disabled=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-disabled\");\n });\n\n it(\"should render readonly variant\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField],\n html: '<ic-search-bar label=\"Test label\" readonly=\"true\"></ic-search-bar>',\n });\n\n expect(page.root).toMatchSnapshot(\"renders-readonly\");\n });\n\n it(\"should render with options\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(\"renders-with-options\");\n });\n\n it(\"should render with helper-text\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" helper-text=\"This is a description\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot(\"renders-with-helpertext\");\n });\n\n it(\"should test clear button\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.showClearButton).toBe(false);\n await page.rootInstance.handleShowClearButton(true);\n await page.waitForChanges();\n expect(page.rootInstance.showClearButton).toBe(true);\n\n expect(page.rootInstance.clearButtonFocused).toBe(false);\n await page.rootInstance.handleFocusClearButton();\n await page.waitForChanges();\n expect(page.rootInstance.clearButtonFocused).toBe(true);\n });\n\n it(\"should test handleMenuChange\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icMenuChange\", eventSpy);\n const focusEvent = jest.spyOn(SearchBar.prototype, \"setFocus\");\n\n await page.rootInstance.handleMenuChange({ detail: { open: true } });\n expect(page.rootInstance.open).toBe(true);\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n\n await page.rootInstance.handleMenuChange({\n detail: { open: false, focusInput: true },\n });\n expect(page.rootInstance.open).toBe(false);\n await page.waitForChanges();\n expect(focusEvent).toHaveBeenCalled();\n });\n\n it(\"should test host blur\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n const focusEventSpy = jest.fn();\n page.win.addEventListener(\"icSearchBarFocus\", focusEventSpy);\n page.root.focus();\n await page.waitForChanges();\n expect(focusEventSpy).toHaveBeenCalled();\n expect(page.rootInstance.open).toBeTruthy;\n\n const blurEventSpy = jest.fn();\n page.win.addEventListener(\"icSearchBarBlur\", blurEventSpy);\n page.root.blur();\n await page.waitForChanges();\n expect(blurEventSpy).toHaveBeenCalled();\n expect(page.rootInstance.open).toBeFalsy;\n\n page.rootInstance.menuCloseFromMenuChangeEvent = true;\n page.root.focus();\n await page.waitForChanges();\n expect(page.rootInstance.open).toBeFalsy;\n });\n\n it(\"should test search submit button events\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<form><ic-search-bar label=\"Test label\" value=\"espresso\" focus-on-load=\"true\"></ic-search-bar></form>',\n });\n\n const searchButton = page.root.shadowRoot.querySelector(\n \"#search-submit-button\"\n ) as HTMLIcButtonElement;\n\n searchButton.focus();\n await page.waitForChanges();\n expect(page.rootInstance.searchSubmitFocused).toBe(true);\n\n const blurEventSpy = jest.fn();\n page.win.addEventListener(\"icSubmitSearchBlur\", blurEventSpy);\n searchButton.blur();\n await page.waitForChanges();\n expect(blurEventSpy).toHaveBeenCalled();\n\n const clickEventSpy = jest.fn();\n page.win.addEventListener(\"icSubmitSearch\", clickEventSpy);\n searchButton.click();\n await page.waitForChanges();\n expect(clickEventSpy).toHaveBeenCalled();\n expect(clickEventSpy).toHaveBeenCalledTimes(1);\n\n const event = new KeyboardEvent(\"keydown\", { key: \" \" });\n await page.rootInstance.handleSubmitSearchKeyDown(event);\n await page.waitForChanges();\n expect(clickEventSpy).toHaveBeenCalledTimes(2);\n });\n\n it(\"should test keydown event - arrow down\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n const eventSpy = jest.fn();\n page.win.addEventListener(\"menuOptionId\", eventSpy);\n\n const menu = page.root.shadowRoot.querySelector(\"ic-menu\");\n menu.autoFocusOnSelected = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowDown\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled;\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Enter\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"doubleespresso\");\n });\n\n it(\"should test searchMode = `query`\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" search-mode=\"query\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Enter\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"\");\n });\n\n it(\"should test keydown event - arrow up\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n const focusSpy = jest.spyOn(SearchBar.prototype, \"setFocus\");\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n const eventSpy = jest.fn();\n page.win.addEventListener(\"menuOptionId\", eventSpy);\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"1\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(focusSpy).toHaveBeenCalled;\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowUp\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled;\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowUp\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Enter\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"acano\");\n\n page.rootInstance.open = true;\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Backspace\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(page.rootInstance.value).toBe(\"acano\");\n });\n\n it(\"should test keydown event - backspace\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n const focusEvent = jest.spyOn(SearchBar.prototype, \"setFocus\");\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Backspace\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n expect(page.rootInstance.value).toBe(\"espresso\");\n expect(focusEvent).toHaveBeenCalled;\n });\n\n it(\"should test wrap around in menu\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowUp\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"ArrowDown\", preventDefault: (): void => null } },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"espresso\");\n });\n\n it(\"should test menu item click\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n let items = Array.from(page.root.shadowRoot.querySelectorAll(\"ic-menu li\"));\n\n (items[2] as HTMLElement).click();\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"flatwhite\");\n\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n items = Array.from(page.root.shadowRoot.querySelectorAll(\"ic-menu li\"));\n\n (items[2] as HTMLElement).blur();\n expect(page.rootInstance.open).toBe(false);\n });\n\n it(\"should test keydown event - escape\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyDown({\n detail: { event: { key: \"Tab\", preventDefault: (): void => null } },\n });\n await page.rootInstance.handleKeyDown({\n detail: {\n event: {\n key: \"Escape\",\n preventDefault: (): void => null,\n stopImmediatePropagation: (): void => null,\n },\n },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.value).toBe(\"espresso\");\n expect(page.rootInstance.open).toBe(false);\n });\n\n it(\"should test key up event\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n\n await page.rootInstance.handleKeyUp({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.open).toBe(false);\n\n page.rootInstance.preventSubmit = true;\n page.rootInstance.open = true;\n await page.waitForChanges();\n await page.rootInstance.handleKeyUp({ key: \"Escape\" });\n\n expect(page.rootInstance.open).toBe(false);\n expect(page.rootInstance.preventSubmit).toBe(false);\n\n page.rootInstance.preventSubmit = true;\n page.rootInstance.open = true;\n await page.waitForChanges();\n await page.rootInstance.handleKeyUp({ key: \"Enter\" });\n expect(page.rootInstance.open).toBe(true);\n });\n\n it(\"should test changing value\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.value = \"mocha\";\n await page.waitForChanges();\n expect(page.rootInstance.value).toBe(\"mocha\");\n expect(page.rootInstance.inputEl.value).toBe(\"mocha\");\n });\n\n it(\"should test input event handler\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" ></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n textfield.dispatchEvent(event);\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.open).toBe(true);\n expect(page.rootInstance.showClearButton).toBe(true);\n\n const searchResultsStatusEl = page.root.shadowRoot.querySelector(\n \".search-results-status\"\n ) as HTMLParagraphElement;\n expect(searchResultsStatusEl).toEqualText(\"2 results available\");\n });\n\n it(\"should test clear button events\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n await page.waitForChanges();\n\n const clearButton = page.root.shadowRoot.querySelector(\n \"#clear-button\"\n ) as HTMLIcButtonElement;\n\n clearButton.focus();\n await page.waitForChanges();\n expect(page.rootInstance.clearButtonFocused).toBe(true);\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icClearBlur\", eventSpy);\n clearButton.blur();\n await waitForTimeout(500);\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n\n clearButton.click();\n await page.waitForChanges();\n await waitForTimeout(500);\n expect(page.rootInstance.value).toBe(\"\");\n\n //test disconnected callback\n await page.setContent(\"\");\n expect(page.rootInstance.assistiveHintEl).toBeNull;\n });\n\n it(\"should test select of empty option list text\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icOptionSelect\", eventSpy);\n await page.waitForChanges();\n await page.rootInstance.handleOptionSelect({\n detail: { label: \"No results found\" },\n });\n await page.waitForChanges();\n expect(eventSpy).not.toHaveBeenCalled;\n });\n\n it(\"should test select of empty option list text with previous option\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, Button, TextField, Menu],\n html: '<ic-search-bar label=\"Test label\" value=\"espresso\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n page.root.options = menuOptions;\n page.rootInstance.open = true;\n await page.waitForChanges();\n await page.rootInstance.handleOptionSelect({\n detail: { label: \"No results found\" },\n });\n\n expect(page.rootInstance.prevNoOption).toBe(false);\n page.rootInstance.prevNoOption = true;\n await page.waitForChanges();\n await page.rootInstance.highlightFirstOptionAfterNoResults();\n expect(page.rootInstance.prevNoOption).toBe(false);\n });\n\n it(\"should test loading state when no options passed and filtering disabled\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" helper-text=\"This is a description\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.value = \"aa\";\n textfield.dispatchEvent(event);\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.filteredOptions).toHaveLength(1);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading...\");\n });\n\n it(\"should test loading timeout and retry when options is not populated before the timeout is finished\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" helper-text=\"This is a description\" disable-filter=\"true\" timeout=\"1000\"></ic-search-bar>',\n });\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.value = \"lo\";\n textfield.dispatchEvent(event);\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.filteredOptions).toHaveLength(1);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading...\");\n\n //takes wait time to over timeout time\n await waitForTimeout(400);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading Error\");\n\n page.rootInstance.open = true;\n await page.waitForChanges();\n const retryButton = page.root.shadowRoot\n .querySelector(\"ic-menu\")\n .querySelector(\"#retry-button\") as HTMLIcButtonElement;\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icRetryLoad\", eventSpy);\n\n retryButton.click();\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update\n await waitForTimeout(700);\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\"Loading...\");\n expect(eventSpy).toHaveBeenCalled();\n\n page.root.options = [];\n await page.waitForChanges();\n expect(page.rootInstance.filteredOptions[0].label).toEqual(\n \"No results found\"\n );\n //to ensure timeout was cancelled\n await waitForTimeout(1000);\n expect(page.rootInstance.filteredOptions[0].label).not.toEqual(\n \"Loading Error\"\n );\n\n // Tests hadNoOptions() when options is updated\n page.rootInstance.open = false;\n page.root.options = [];\n await page.waitForChanges();\n expect(page.rootInstance.open).toBeFalsy;\n });\n\n it(\"should test retry loading with keyboard navigation\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" helper-text=\"This is a description\" disable-filter=\"true\" timeout=\"1000\"></ic-search-bar>',\n });\n\n const textfield = page.root.shadowRoot.querySelector(\"ic-text-field\");\n const event = new Event(\"input\", {\n bubbles: true,\n cancelable: true,\n });\n\n page.rootInstance.value = \"lo\";\n textfield.dispatchEvent(event);\n page.rootInstance.loading = true;\n await page.waitForChanges();\n //delay to wait for aria live update and timeout\n await waitForTimeout(1100);\n\n const retryClick = jest.spyOn(TextField.prototype, \"setFocus\");\n page.rootInstance.handleRetry({\n detail: { keyPressed: \"Enter\", value: \"lo\" },\n });\n await page.waitForChanges();\n page.rootInstance.handleHostBlur({ relatedTarget: textfield });\n await page.waitForChanges();\n expect(retryClick).toHaveBeenCalled;\n expect(page.rootInstance.open).toBeTruthy;\n });\n\n it(\"should render a hidden assistive element on load\", async () => {\n const page = await newSpecPage({\n components: [SearchBar, TextField, InputContainer, InputLabel],\n html: '<ic-search-bar label=\"Test label\" hint-text=\"Hint\" disable-filter=\"true\"></ic-search-bar>',\n });\n\n expect(page.rootInstance.assistiveHintEl).not.toBeNull;\n expect(page.rootInstance.assistiveHintEl.innerText).toBe(\"Hint\");\n });\n\n it(\"should test mousedown handler\", async () => {\n const page = await newSpecPage({\n components: [\n SearchBar,\n Button,\n TextField,\n Menu,\n InputContainer,\n InputLabel,\n ],\n html: '<ic-search-bar label=\"Test label\" value=\"test\"></ic-search-bar>',\n });\n\n await page.rootInstance.handleMouseDown({\n preventDefault: (): void => null,\n });\n\n await page.waitForChanges();\n\n expect(page.root.value).toBe(\"test\");\n });\n});\n"]}
|
@@ -1415,7 +1415,7 @@ describe("ic-select searchable", () => {
|
|
1415
1415
|
value: "",
|
1416
1416
|
});
|
1417
1417
|
});
|
1418
|
-
it("should clear the searchable input if the value is
|
1418
|
+
it("should clear the searchable input if the value is programmatically set to undefined", async () => {
|
1419
1419
|
const page = await newSpecPage({
|
1420
1420
|
components: [Select, Menu, InputComponentContainer],
|
1421
1421
|
html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
|