@dxc-technology/halstack-react 0.0.0-bfeb2b0 → 0.0.0-c023f9a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1246 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +101 -181
- package/accordion/Accordion.stories.tsx +83 -149
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +24 -40
- package/accordion/types.d.ts +6 -17
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +31 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +49 -106
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +12 -17
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +40 -127
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -40
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -2
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +30 -81
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -14
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +92 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +63 -113
- package/button/Button.stories.tsx +151 -100
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +12 -8
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -102
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +137 -172
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +159 -38
- package/checkbox/types.d.ts +14 -6
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +45 -80
- package/chip/Chip.stories.tsx +107 -27
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +17 -32
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1392 -0
- package/common/variables.js +1081 -1190
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +230 -0
- package/date-input/DateInput.js +152 -299
- package/date-input/DateInput.stories.tsx +210 -56
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +700 -370
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +121 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +56 -129
- package/dialog/Dialog.stories.tsx +325 -167
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +350 -19
- package/dialog/types.d.ts +18 -25
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.d.ts +1 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +184 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +232 -307
- package/dropdown/Dropdown.stories.tsx +235 -57
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +604 -164
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +71 -0
- package/dropdown/types.d.ts +35 -19
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +245 -395
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +314 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +61 -120
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -191
- package/footer/Footer.stories.tsx +99 -21
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +32 -56
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +54 -23
- package/footer/types.d.ts +26 -27
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +104 -218
- package/header/Header.stories.tsx +168 -63
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +30 -27
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +5 -15
- package/header/types.d.ts +7 -21
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +64 -94
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +88 -182
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +7 -0
- package/layout/Icons.js +41 -48
- package/layout/types.d.ts +19 -35
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -101
- package/link/Link.stories.tsx +157 -55
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +24 -52
- package/link/types.d.ts +15 -31
- package/main.d.ts +16 -13
- package/main.js +83 -106
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +77 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +861 -380
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +30 -15
- package/package.json +53 -55
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +46 -100
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +279 -210
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +58 -124
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +161 -146
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +68 -92
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +71 -43
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +71 -43
- package/quick-nav/QuickNav.stories.tsx +146 -27
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -79
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +74 -121
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +518 -459
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +171 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +380 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +151 -0
- package/select/Option.js +35 -56
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +210 -342
- package/select/Select.stories.tsx +524 -187
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +1955 -1744
- package/select/types.d.ts +33 -18
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +136 -71
- package/sidenav/Sidenav.stories.tsx +246 -151
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +25 -44
- package/sidenav/SidenavContext.d.ts +5 -0
- package/sidenav/SidenavContext.js +13 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +146 -181
- package/slider/Slider.stories.tsx +64 -61
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +195 -88
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +34 -74
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +143 -124
- package/switch/Switch.stories.tsx +53 -64
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +137 -55
- package/switch/types.d.ts +9 -5
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +93 -7
- package/table/types.d.ts +34 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +117 -0
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +303 -141
- package/tabs/Tabs.stories.tsx +124 -12
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +212 -76
- package/tabs/types.d.ts +30 -20
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +38 -73
- package/tag/Tag.stories.tsx +18 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +94 -0
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +327 -556
- package/text-input/TextInput.stories.tsx +276 -276
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +1429 -1398
- package/text-input/types.d.ts +66 -24
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +79 -133
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +151 -182
- package/textarea/types.d.ts +19 -12
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -108
- package/toggle-group/ToggleGroup.stories.tsx +52 -7
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +28 -19
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1144 -1
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +66 -113
- package/wizard/Wizard.stories.tsx +59 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +9 -9
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/paginator/Icons.js +0 -66
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/resultsetTable/ResultsetTable.test.js +0 -306
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/table/Table.stories.jsx +0 -277
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{list → action-icon}/types.js +0 -0
- /package/{radio → breadcrumbs}/types.js +0 -0
- /package/{resultsetTable → bulleted-list}/types.js +0 -0
- /package/{row → container}/types.js +0 -0
- /package/{stack → contextual-menu}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
|
@@ -1,70 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
6
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
|
|
11
9
|
var _react2 = require("@testing-library/react");
|
|
12
|
-
|
|
13
10
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
14
|
-
|
|
15
11
|
var _TextInput = _interopRequireDefault(require("./TextInput"));
|
|
16
|
-
|
|
12
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
13
|
+
global.globalThis = global;
|
|
14
|
+
global.DOMRect = {
|
|
15
|
+
fromRect: function fromRect() {
|
|
16
|
+
return {
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
bottom: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
width: 0,
|
|
22
|
+
height: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
27
|
+
function ResizeObserver() {
|
|
28
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
|
+
}
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {}
|
|
33
|
+
}, {
|
|
34
|
+
key: "unobserve",
|
|
35
|
+
value: function unobserve() {}
|
|
36
|
+
}, {
|
|
37
|
+
key: "disconnect",
|
|
38
|
+
value: function disconnect() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
17
42
|
var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
|
|
43
|
+
var specialCharacters = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
|
|
18
44
|
describe("TextInput component tests", function () {
|
|
19
|
-
test("Renders with correct
|
|
45
|
+
test("Renders with correct error aria attributes", function () {
|
|
20
46
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
test("Renders with correct label and helper text", function () {
|
|
28
|
-
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
29
|
-
label: "Example label",
|
|
30
|
-
helperText: "Example helper text"
|
|
31
|
-
})),
|
|
32
|
-
getByText = _render2.getByText;
|
|
33
|
-
|
|
34
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
35
|
-
expect(getByText("Example helper text")).toBeTruthy();
|
|
36
|
-
});
|
|
37
|
-
test("Renders with correct label and optional", function () {
|
|
38
|
-
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
39
|
-
label: "Example label",
|
|
40
|
-
helperText: "Example helper text",
|
|
41
|
-
optional: true
|
|
42
|
-
})),
|
|
43
|
-
getByText = _render3.getByText;
|
|
44
|
-
|
|
45
|
-
expect(getByText("Example label")).toBeTruthy();
|
|
46
|
-
expect(getByText("(Optional)")).toBeTruthy();
|
|
47
|
-
expect(getByText("Example helper text")).toBeTruthy();
|
|
48
|
-
});
|
|
49
|
-
test("Renders with correct placeholder", function () {
|
|
50
|
-
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
51
|
-
label: "Example label",
|
|
52
|
-
placeholder: "Placeholder"
|
|
53
|
-
})),
|
|
54
|
-
getByRole = _render4.getByRole;
|
|
55
|
-
|
|
56
|
-
var input = getByRole("textbox");
|
|
57
|
-
expect(input.getAttribute("placeholder")).toBe("Placeholder");
|
|
58
|
-
});
|
|
59
|
-
test("Renders with error message and correct aria attributes", function () {
|
|
60
|
-
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
61
|
-
label: "Error label",
|
|
62
|
-
placeholder: "Placeholder",
|
|
63
|
-
error: "Error message."
|
|
64
|
-
})),
|
|
65
|
-
getByText = _render5.getByText,
|
|
66
|
-
getByRole = _render5.getByRole;
|
|
67
|
-
|
|
47
|
+
label: "Error label",
|
|
48
|
+
placeholder: "Placeholder",
|
|
49
|
+
error: "Error message."
|
|
50
|
+
})),
|
|
51
|
+
getByText = _render.getByText,
|
|
52
|
+
getByRole = _render.getByRole;
|
|
68
53
|
var input = getByRole("textbox");
|
|
69
54
|
var errorMessage = getByText("Error message.");
|
|
70
55
|
expect(errorMessage).toBeTruthy();
|
|
@@ -73,82 +58,65 @@ describe("TextInput component tests", function () {
|
|
|
73
58
|
expect(errorMessage.getAttribute("aria-live")).toBe("assertive");
|
|
74
59
|
});
|
|
75
60
|
test("Renders with correct initial value", function () {
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
61
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
62
|
+
label: "Default label",
|
|
63
|
+
placeholder: "Placeholder",
|
|
64
|
+
defaultValue: "Example text"
|
|
65
|
+
})),
|
|
66
|
+
getByRole = _render2.getByRole;
|
|
83
67
|
var input = getByRole("textbox");
|
|
84
68
|
expect(input.value).toBe("Example text");
|
|
85
69
|
});
|
|
86
70
|
test("Not optional constraint (onBlur)", function () {
|
|
87
71
|
var onChange = jest.fn();
|
|
88
72
|
var onBlur = jest.fn();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
getByRole = _render7.getByRole;
|
|
98
|
-
|
|
73
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
74
|
+
label: "Input label",
|
|
75
|
+
placeholder: "Placeholder",
|
|
76
|
+
onChange: onChange,
|
|
77
|
+
onBlur: onBlur,
|
|
78
|
+
clearable: true
|
|
79
|
+
})),
|
|
80
|
+
getByRole = _render3.getByRole;
|
|
99
81
|
var input = getByRole("textbox");
|
|
100
|
-
|
|
101
82
|
_react2.fireEvent.focus(input);
|
|
102
|
-
|
|
103
83
|
_react2.fireEvent.blur(input);
|
|
104
|
-
|
|
105
84
|
expect(onBlur).toHaveBeenCalled();
|
|
106
85
|
expect(onBlur).toHaveBeenCalledWith({
|
|
107
86
|
value: "",
|
|
108
87
|
error: "This field is required. Please, enter a value."
|
|
109
88
|
});
|
|
110
|
-
|
|
111
89
|
_react2.fireEvent.change(input, {
|
|
112
90
|
target: {
|
|
113
91
|
value: "Test"
|
|
114
92
|
}
|
|
115
93
|
});
|
|
116
|
-
|
|
117
94
|
_react2.fireEvent.blur(input);
|
|
118
|
-
|
|
119
95
|
expect(onBlur).toHaveBeenCalled();
|
|
120
96
|
expect(onBlur).toHaveBeenCalledWith({
|
|
121
|
-
value: "Test"
|
|
122
|
-
error: null
|
|
97
|
+
value: "Test"
|
|
123
98
|
});
|
|
124
99
|
});
|
|
125
100
|
test("Not optional constraint (onChange)", function () {
|
|
126
101
|
var onChange = jest.fn();
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
getByRole = _render8.getByRole;
|
|
135
|
-
|
|
102
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
103
|
+
label: "Input label",
|
|
104
|
+
placeholder: "Placeholder",
|
|
105
|
+
onChange: onChange,
|
|
106
|
+
clearable: true
|
|
107
|
+
})),
|
|
108
|
+
getByRole = _render4.getByRole;
|
|
136
109
|
var input = getByRole("textbox");
|
|
137
|
-
|
|
138
110
|
_react2.fireEvent.change(input, {
|
|
139
111
|
target: {
|
|
140
112
|
value: "Test"
|
|
141
113
|
}
|
|
142
114
|
});
|
|
143
|
-
|
|
144
115
|
expect(onChange).toHaveBeenCalled();
|
|
145
116
|
expect(onChange).toHaveBeenCalledWith({
|
|
146
|
-
value: "Test"
|
|
147
|
-
error: null
|
|
117
|
+
value: "Test"
|
|
148
118
|
});
|
|
149
|
-
|
|
150
119
|
_userEvent["default"].clear(input);
|
|
151
|
-
|
|
152
120
|
expect(onChange).toHaveBeenCalled();
|
|
153
121
|
expect(onChange).toHaveBeenCalledWith({
|
|
154
122
|
value: "",
|
|
@@ -158,422 +126,520 @@ describe("TextInput component tests", function () {
|
|
|
158
126
|
test("Pattern constraint", function () {
|
|
159
127
|
var onChange = jest.fn();
|
|
160
128
|
var onBlur = jest.fn();
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
getByRole = _render9.getByRole;
|
|
175
|
-
|
|
129
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
130
|
+
label: "Input label",
|
|
131
|
+
placeholder: "Placeholder",
|
|
132
|
+
onChange: onChange,
|
|
133
|
+
onBlur: onBlur,
|
|
134
|
+
margin: {
|
|
135
|
+
left: "medium",
|
|
136
|
+
right: "medium"
|
|
137
|
+
},
|
|
138
|
+
clearable: true,
|
|
139
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
140
|
+
})),
|
|
141
|
+
getByRole = _render5.getByRole;
|
|
176
142
|
var input = getByRole("textbox");
|
|
177
|
-
|
|
178
143
|
_react2.fireEvent.change(input, {
|
|
179
144
|
target: {
|
|
180
145
|
value: "pattern test"
|
|
181
146
|
}
|
|
182
147
|
});
|
|
183
|
-
|
|
184
148
|
expect(onChange).toHaveBeenCalled();
|
|
185
149
|
expect(onChange).toHaveBeenCalledWith({
|
|
186
150
|
value: "pattern test",
|
|
187
151
|
error: "Please match the format requested."
|
|
188
152
|
});
|
|
189
|
-
|
|
190
153
|
_react2.fireEvent.blur(input);
|
|
191
|
-
|
|
192
154
|
expect(onBlur).toHaveBeenCalled();
|
|
193
155
|
expect(onBlur).toHaveBeenCalledWith({
|
|
194
156
|
value: "pattern test",
|
|
195
157
|
error: "Please match the format requested."
|
|
196
158
|
});
|
|
197
|
-
|
|
198
159
|
_userEvent["default"].clear(input);
|
|
199
|
-
|
|
200
160
|
_react2.fireEvent.change(input, {
|
|
201
161
|
target: {
|
|
202
162
|
value: "pattern4&"
|
|
203
163
|
}
|
|
204
164
|
});
|
|
205
|
-
|
|
206
165
|
expect(onChange).toHaveBeenCalled();
|
|
207
166
|
expect(onChange).toHaveBeenCalledWith({
|
|
208
|
-
value: "pattern4&"
|
|
209
|
-
error: null
|
|
167
|
+
value: "pattern4&"
|
|
210
168
|
});
|
|
211
|
-
|
|
212
169
|
_react2.fireEvent.blur(input);
|
|
213
|
-
|
|
214
170
|
expect(onBlur).toHaveBeenCalled();
|
|
215
171
|
expect(onBlur).toHaveBeenCalledWith({
|
|
216
|
-
value: "pattern4&"
|
|
217
|
-
error: null
|
|
172
|
+
value: "pattern4&"
|
|
218
173
|
});
|
|
219
174
|
});
|
|
220
175
|
test("Length constraint", function () {
|
|
221
176
|
var onChange = jest.fn();
|
|
222
177
|
var onBlur = jest.fn();
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
getByRole = _render10.getByRole;
|
|
238
|
-
|
|
178
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
179
|
+
label: "Input label",
|
|
180
|
+
placeholder: "Placeholder",
|
|
181
|
+
onChange: onChange,
|
|
182
|
+
onBlur: onBlur,
|
|
183
|
+
margin: {
|
|
184
|
+
left: "medium",
|
|
185
|
+
right: "medium"
|
|
186
|
+
},
|
|
187
|
+
clearable: true,
|
|
188
|
+
minLength: 5,
|
|
189
|
+
maxLength: 10
|
|
190
|
+
})),
|
|
191
|
+
getByRole = _render6.getByRole;
|
|
239
192
|
var input = getByRole("textbox");
|
|
240
|
-
|
|
241
193
|
_react2.fireEvent.change(input, {
|
|
242
194
|
target: {
|
|
243
195
|
value: "test"
|
|
244
196
|
}
|
|
245
197
|
});
|
|
246
|
-
|
|
247
198
|
expect(onChange).toHaveBeenCalled();
|
|
248
199
|
expect(onChange).toHaveBeenCalledWith({
|
|
249
200
|
value: "test",
|
|
250
201
|
error: "Min length 5, max length 10."
|
|
251
202
|
});
|
|
252
|
-
|
|
253
203
|
_react2.fireEvent.blur(input);
|
|
254
|
-
|
|
255
204
|
expect(onBlur).toHaveBeenCalled();
|
|
256
205
|
expect(onBlur).toHaveBeenCalledWith({
|
|
257
206
|
value: "test",
|
|
258
207
|
error: "Min length 5, max length 10."
|
|
259
208
|
});
|
|
260
|
-
|
|
261
209
|
_userEvent["default"].clear(input);
|
|
262
|
-
|
|
263
210
|
_react2.fireEvent.change(input, {
|
|
264
211
|
target: {
|
|
265
212
|
value: "length"
|
|
266
213
|
}
|
|
267
214
|
});
|
|
268
|
-
|
|
269
215
|
expect(onChange).toHaveBeenCalled();
|
|
270
216
|
expect(onChange).toHaveBeenCalledWith({
|
|
271
|
-
value: "length"
|
|
272
|
-
error: null
|
|
217
|
+
value: "length"
|
|
273
218
|
});
|
|
274
|
-
|
|
275
219
|
_react2.fireEvent.blur(input);
|
|
276
|
-
|
|
277
220
|
expect(onBlur).toHaveBeenCalled();
|
|
278
221
|
expect(onBlur).toHaveBeenCalledWith({
|
|
279
|
-
value: "length"
|
|
280
|
-
error: null
|
|
222
|
+
value: "length"
|
|
281
223
|
});
|
|
282
224
|
});
|
|
283
225
|
test("Pattern and length constraints", function () {
|
|
284
226
|
var onChange = jest.fn();
|
|
285
227
|
var onBlur = jest.fn();
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
getByRole = _render11.getByRole;
|
|
302
|
-
|
|
228
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
229
|
+
label: "Input label",
|
|
230
|
+
placeholder: "Placeholder",
|
|
231
|
+
onChange: onChange,
|
|
232
|
+
onBlur: onBlur,
|
|
233
|
+
margin: {
|
|
234
|
+
left: "medium",
|
|
235
|
+
right: "medium"
|
|
236
|
+
},
|
|
237
|
+
clearable: true,
|
|
238
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$",
|
|
239
|
+
minLength: 5,
|
|
240
|
+
maxLength: 10
|
|
241
|
+
})),
|
|
242
|
+
getByRole = _render7.getByRole;
|
|
303
243
|
var input = getByRole("textbox");
|
|
304
|
-
|
|
305
244
|
_react2.fireEvent.change(input, {
|
|
306
245
|
target: {
|
|
307
246
|
value: "test"
|
|
308
247
|
}
|
|
309
248
|
});
|
|
310
|
-
|
|
311
249
|
expect(onChange).toHaveBeenCalled();
|
|
312
250
|
expect(onChange).toHaveBeenCalledWith({
|
|
313
251
|
value: "test",
|
|
314
252
|
error: "Min length 5, max length 10."
|
|
315
253
|
});
|
|
316
|
-
|
|
317
254
|
_react2.fireEvent.blur(input);
|
|
318
|
-
|
|
319
255
|
expect(onBlur).toHaveBeenCalled();
|
|
320
256
|
expect(onBlur).toHaveBeenCalledWith({
|
|
321
257
|
value: "test",
|
|
322
258
|
error: "Min length 5, max length 10."
|
|
323
259
|
});
|
|
324
|
-
|
|
325
260
|
_react2.fireEvent.change(input, {
|
|
326
261
|
target: {
|
|
327
262
|
value: "tests"
|
|
328
263
|
}
|
|
329
264
|
});
|
|
330
|
-
|
|
331
265
|
expect(onChange).toHaveBeenCalled();
|
|
332
266
|
expect(onChange).toHaveBeenCalledWith({
|
|
333
267
|
value: "tests",
|
|
334
268
|
error: "Please match the format requested."
|
|
335
269
|
});
|
|
336
|
-
|
|
337
270
|
_react2.fireEvent.blur(input);
|
|
338
|
-
|
|
339
271
|
expect(onBlur).toHaveBeenCalled();
|
|
340
272
|
expect(onBlur).toHaveBeenCalledWith({
|
|
341
273
|
value: "tests",
|
|
342
274
|
error: "Please match the format requested."
|
|
343
275
|
});
|
|
344
|
-
|
|
345
276
|
_react2.fireEvent.change(input, {
|
|
346
277
|
target: {
|
|
347
278
|
value: "tests4&"
|
|
348
279
|
}
|
|
349
280
|
});
|
|
350
|
-
|
|
351
281
|
expect(onChange).toHaveBeenCalled();
|
|
352
282
|
expect(onChange).toHaveBeenCalledWith({
|
|
353
|
-
value: "tests4&"
|
|
354
|
-
error: null
|
|
283
|
+
value: "tests4&"
|
|
355
284
|
});
|
|
356
|
-
|
|
357
285
|
_react2.fireEvent.blur(input);
|
|
358
|
-
|
|
359
286
|
expect(onBlur).toHaveBeenCalled();
|
|
360
287
|
expect(onBlur).toHaveBeenCalledWith({
|
|
361
|
-
value: "tests4&"
|
|
362
|
-
error: null
|
|
288
|
+
value: "tests4&"
|
|
363
289
|
});
|
|
364
290
|
});
|
|
365
291
|
test("onChange function is called correctly", function () {
|
|
366
292
|
var onChange = jest.fn();
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
getByRole = _render12.getByRole;
|
|
373
|
-
|
|
293
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
294
|
+
label: "Input label",
|
|
295
|
+
onChange: onChange
|
|
296
|
+
})),
|
|
297
|
+
getByRole = _render8.getByRole;
|
|
374
298
|
var input = getByRole("textbox");
|
|
375
|
-
|
|
376
299
|
_userEvent["default"].type(input, "onchange event test");
|
|
377
|
-
|
|
378
300
|
expect(input.value).toBe("onchange event test");
|
|
379
301
|
expect(onChange).toHaveBeenCalled();
|
|
380
302
|
expect(onChange).toHaveBeenCalledWith({
|
|
381
|
-
value: "onchange event test"
|
|
382
|
-
error: null
|
|
303
|
+
value: "onchange event test"
|
|
383
304
|
});
|
|
384
305
|
});
|
|
385
306
|
test("onBlur function is called correctly", function () {
|
|
386
307
|
var onBlur = jest.fn();
|
|
387
308
|
var onChange = jest.fn();
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
getByRole = _render13.getByRole;
|
|
395
|
-
|
|
309
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
310
|
+
label: "Input label",
|
|
311
|
+
onChange: onChange,
|
|
312
|
+
onBlur: onBlur
|
|
313
|
+
})),
|
|
314
|
+
getByRole = _render9.getByRole;
|
|
396
315
|
var input = getByRole("textbox");
|
|
397
|
-
|
|
398
316
|
_react2.fireEvent.change(input, {
|
|
399
317
|
target: {
|
|
400
318
|
value: "Blur test"
|
|
401
319
|
}
|
|
402
320
|
});
|
|
403
|
-
|
|
404
321
|
_react2.fireEvent.blur(input);
|
|
405
|
-
|
|
406
322
|
expect(onBlur).toHaveBeenCalled();
|
|
407
323
|
expect(onBlur).toHaveBeenCalledWith({
|
|
408
|
-
value: "Blur test"
|
|
409
|
-
error: null
|
|
324
|
+
value: "Blur test"
|
|
410
325
|
});
|
|
411
326
|
});
|
|
412
|
-
test("Clear action
|
|
413
|
-
var
|
|
414
|
-
|
|
327
|
+
test("Clear action tooltip is correct", function () {
|
|
328
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
329
|
+
label: "Input label",
|
|
330
|
+
value: "Text",
|
|
331
|
+
clearable: true
|
|
332
|
+
})),
|
|
333
|
+
getByTitle = _render10.getByTitle;
|
|
334
|
+
expect(getByTitle("Clear field")).toBeTruthy();
|
|
335
|
+
});
|
|
336
|
+
test("Clear action onClick cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
337
|
+
var _render11, getByRole, input, closeAction;
|
|
415
338
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
416
|
-
while (1) {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
339
|
+
while (1) switch (_context.prev = _context.next) {
|
|
340
|
+
case 0:
|
|
341
|
+
_render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
342
|
+
label: "Input label",
|
|
343
|
+
clearable: true
|
|
344
|
+
})), getByRole = _render11.getByRole;
|
|
345
|
+
input = getByRole("textbox");
|
|
346
|
+
_userEvent["default"].type(input, "Test");
|
|
347
|
+
closeAction = getByRole("button");
|
|
348
|
+
_context.next = 6;
|
|
349
|
+
return _userEvent["default"].click(closeAction);
|
|
350
|
+
case 6:
|
|
351
|
+
expect(input.value).toBe("");
|
|
352
|
+
case 7:
|
|
353
|
+
case "end":
|
|
354
|
+
return _context.stop();
|
|
430
355
|
}
|
|
431
356
|
}, _callee);
|
|
432
357
|
})));
|
|
433
|
-
test("
|
|
434
|
-
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
435
|
-
label: "Input label",
|
|
436
|
-
clearable: true
|
|
437
|
-
})),
|
|
438
|
-
getByRole = _render15.getByRole;
|
|
439
|
-
|
|
440
|
-
var input = getByRole("textbox");
|
|
441
|
-
|
|
442
|
-
_userEvent["default"].type(input, "Test");
|
|
443
|
-
|
|
444
|
-
var closeAction = getByRole("button");
|
|
445
|
-
|
|
446
|
-
_userEvent["default"].click(closeAction);
|
|
447
|
-
|
|
448
|
-
expect(input.value).toBe("");
|
|
449
|
-
});
|
|
450
|
-
test("Disabled input renders with correct aria and can not be modified", function () {
|
|
358
|
+
test("Disabled text input renders with correct aria and can not be modified", function () {
|
|
451
359
|
var onChange = jest.fn();
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
getByRole = _render16.getByRole;
|
|
459
|
-
|
|
360
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
361
|
+
label: "Input label",
|
|
362
|
+
onChange: onChange,
|
|
363
|
+
disabled: true
|
|
364
|
+
})),
|
|
365
|
+
getByRole = _render12.getByRole;
|
|
460
366
|
var input = getByRole("textbox");
|
|
461
|
-
expect(input.getAttribute("aria-disabled")).toBe("true");
|
|
462
|
-
|
|
463
367
|
_userEvent["default"].type(input, "Test");
|
|
464
|
-
|
|
465
368
|
expect(onChange).not.toHaveBeenCalled();
|
|
466
369
|
});
|
|
467
|
-
test("Disabled input (action must be shown but not clickable)", function () {
|
|
468
|
-
var onClick
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
370
|
+
test("Disabled text input (action must be shown but not clickable)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
371
|
+
var onClick, action, _render13, getByRole, input;
|
|
372
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
373
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
374
|
+
case 0:
|
|
375
|
+
onClick = jest.fn();
|
|
376
|
+
action = {
|
|
377
|
+
onClick: onClick,
|
|
378
|
+
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
379
|
+
"data-testid": "image",
|
|
380
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
381
|
+
height: "24px",
|
|
382
|
+
viewBox: "0 0 24 24",
|
|
383
|
+
width: "24px",
|
|
384
|
+
fill: "currentColor"
|
|
385
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
386
|
+
d: "M0 0h24v24H0V0z",
|
|
387
|
+
fill: "none"
|
|
388
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
389
|
+
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
390
|
+
}))
|
|
391
|
+
};
|
|
392
|
+
_render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
393
|
+
label: "Disabled input label",
|
|
394
|
+
action: action,
|
|
395
|
+
disabled: true
|
|
396
|
+
})), getByRole = _render13.getByRole;
|
|
397
|
+
input = getByRole("textbox");
|
|
398
|
+
expect(input.disabled).toBeTruthy();
|
|
399
|
+
_context2.next = 7;
|
|
400
|
+
return _userEvent["default"].click(getByRole("button"));
|
|
401
|
+
case 7:
|
|
402
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
403
|
+
case 8:
|
|
404
|
+
case "end":
|
|
405
|
+
return _context2.stop();
|
|
406
|
+
}
|
|
407
|
+
}, _callee2);
|
|
408
|
+
})));
|
|
409
|
+
test("Disabled text input (clear default action should not be displayed, even with text written on the input)", function () {
|
|
410
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
411
|
+
label: "Disabled input label",
|
|
412
|
+
value: "Sample text",
|
|
413
|
+
disabled: true,
|
|
414
|
+
clearable: true
|
|
415
|
+
})),
|
|
416
|
+
getByRole = _render14.getByRole,
|
|
417
|
+
queryByRole = _render14.queryByRole;
|
|
510
418
|
var input = getByRole("textbox");
|
|
511
419
|
expect(input.disabled).toBeTruthy();
|
|
512
420
|
expect(queryByRole("button")).toBeFalsy();
|
|
513
421
|
});
|
|
514
|
-
test("Disabled input (suffix and
|
|
515
|
-
var
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
422
|
+
test("Disabled text input (suffix and prefix must be displayed)", function () {
|
|
423
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
424
|
+
label: "Disabled input label",
|
|
425
|
+
value: "Sample text",
|
|
426
|
+
prefix: "+34",
|
|
427
|
+
suffix: "USD",
|
|
428
|
+
disabled: true
|
|
429
|
+
})),
|
|
430
|
+
getByRole = _render15.getByRole,
|
|
431
|
+
getByText = _render15.getByText;
|
|
525
432
|
var input = getByRole("textbox");
|
|
526
433
|
expect(input.disabled).toBeTruthy();
|
|
527
434
|
expect(getByText("+34")).toBeTruthy();
|
|
528
435
|
expect(getByText("USD")).toBeTruthy();
|
|
529
436
|
});
|
|
530
|
-
test("
|
|
531
|
-
var
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
537
|
-
height: "24px",
|
|
538
|
-
viewBox: "0 0 24 24",
|
|
539
|
-
width: "24px",
|
|
540
|
-
fill: "currentColor"
|
|
541
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
542
|
-
d: "M0 0h24v24H0V0z",
|
|
543
|
-
fill: "none"
|
|
544
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
545
|
-
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
437
|
+
test("Read-only text input doesn't render the clear action", function () {
|
|
438
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
439
|
+
label: "Disabled input label",
|
|
440
|
+
defaultValue: "Sample text",
|
|
441
|
+
readOnly: true,
|
|
442
|
+
clearable: true
|
|
546
443
|
})),
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
action: action
|
|
553
|
-
})),
|
|
554
|
-
getByRole = _render20.getByRole,
|
|
555
|
-
getByTestId = _render20.getByTestId,
|
|
556
|
-
getByTitle = _render20.getByTitle;
|
|
557
|
-
|
|
558
|
-
expect(getByTestId("image")).toBeTruthy();
|
|
559
|
-
expect(getByTitle("Search")).toBeTruthy();
|
|
560
|
-
|
|
561
|
-
_userEvent["default"].click(getByRole("button"));
|
|
562
|
-
|
|
563
|
-
expect(onClick).toHaveBeenCalled();
|
|
444
|
+
getByRole = _render16.getByRole,
|
|
445
|
+
queryByRole = _render16.queryByRole;
|
|
446
|
+
var input = getByRole("textbox");
|
|
447
|
+
expect(input.readOnly).toBeTruthy();
|
|
448
|
+
expect(queryByRole("button")).toBeFalsy();
|
|
564
449
|
});
|
|
450
|
+
test("Read-only text input does not trigger onChange function", function () {
|
|
451
|
+
var onChange = jest.fn();
|
|
452
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
453
|
+
label: "Example label",
|
|
454
|
+
onChange: onChange,
|
|
455
|
+
readOnly: true
|
|
456
|
+
})),
|
|
457
|
+
getByLabelText = _render17.getByLabelText;
|
|
458
|
+
var textInput = getByLabelText("Example label");
|
|
459
|
+
_userEvent["default"].type(textInput, "Test");
|
|
460
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
461
|
+
});
|
|
462
|
+
test("Read-only text input sends its value on submit", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
463
|
+
var handlerOnSubmit, _render18, getByText, submit;
|
|
464
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
465
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
466
|
+
case 0:
|
|
467
|
+
handlerOnSubmit = jest.fn(function (e) {
|
|
468
|
+
e.preventDefault();
|
|
469
|
+
var formData = new FormData(e.target);
|
|
470
|
+
var formProps = Object.fromEntries(formData);
|
|
471
|
+
expect(formProps).toStrictEqual({
|
|
472
|
+
data: "Text"
|
|
473
|
+
});
|
|
474
|
+
});
|
|
475
|
+
_render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
476
|
+
onSubmit: handlerOnSubmit
|
|
477
|
+
}, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
478
|
+
label: "Example label",
|
|
479
|
+
name: "data",
|
|
480
|
+
defaultValue: "Text",
|
|
481
|
+
readOnly: true
|
|
482
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
483
|
+
type: "submit"
|
|
484
|
+
}, "Submit"))), getByText = _render18.getByText;
|
|
485
|
+
submit = getByText("Submit");
|
|
486
|
+
_context3.next = 5;
|
|
487
|
+
return _userEvent["default"].click(submit);
|
|
488
|
+
case 5:
|
|
489
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
490
|
+
case 6:
|
|
491
|
+
case "end":
|
|
492
|
+
return _context3.stop();
|
|
493
|
+
}
|
|
494
|
+
}, _callee3);
|
|
495
|
+
})));
|
|
496
|
+
test("Read-only text input doesn't trigger custom action's onClick event", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
497
|
+
var onClick, action, _render19, getByRole;
|
|
498
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
499
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
500
|
+
case 0:
|
|
501
|
+
onClick = jest.fn();
|
|
502
|
+
action = {
|
|
503
|
+
onClick: onClick,
|
|
504
|
+
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
505
|
+
"data-testid": "image",
|
|
506
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
507
|
+
height: "24px",
|
|
508
|
+
viewBox: "0 0 24 24",
|
|
509
|
+
width: "24px",
|
|
510
|
+
fill: "currentColor"
|
|
511
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
512
|
+
d: "M0 0h24v24H0V0z",
|
|
513
|
+
fill: "none"
|
|
514
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
515
|
+
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
516
|
+
})),
|
|
517
|
+
title: "Search"
|
|
518
|
+
};
|
|
519
|
+
_render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
520
|
+
label: "Input label",
|
|
521
|
+
action: action,
|
|
522
|
+
readOnly: true
|
|
523
|
+
})), getByRole = _render19.getByRole;
|
|
524
|
+
_context4.next = 5;
|
|
525
|
+
return _userEvent["default"].click(getByRole("button"));
|
|
526
|
+
case 5:
|
|
527
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
528
|
+
case 6:
|
|
529
|
+
case "end":
|
|
530
|
+
return _context4.stop();
|
|
531
|
+
}
|
|
532
|
+
}, _callee4);
|
|
533
|
+
})));
|
|
534
|
+
test("Action prop: image displayed with title and onClick event", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
535
|
+
var onClick, action, _render20, getByRole, getByTestId, getByTitle;
|
|
536
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
537
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
538
|
+
case 0:
|
|
539
|
+
onClick = jest.fn();
|
|
540
|
+
action = {
|
|
541
|
+
onClick: onClick,
|
|
542
|
+
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
543
|
+
"data-testid": "image",
|
|
544
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
545
|
+
height: "24px",
|
|
546
|
+
viewBox: "0 0 24 24",
|
|
547
|
+
width: "24px",
|
|
548
|
+
fill: "currentColor"
|
|
549
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
550
|
+
d: "M0 0h24v24H0V0z",
|
|
551
|
+
fill: "none"
|
|
552
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
553
|
+
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
554
|
+
})),
|
|
555
|
+
title: "Search"
|
|
556
|
+
};
|
|
557
|
+
_render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
558
|
+
label: "Input label",
|
|
559
|
+
action: action
|
|
560
|
+
})), getByRole = _render20.getByRole, getByTestId = _render20.getByTestId, getByTitle = _render20.getByTitle;
|
|
561
|
+
expect(getByTestId("image")).toBeTruthy();
|
|
562
|
+
expect(getByTitle("Search")).toBeTruthy();
|
|
563
|
+
_context5.next = 7;
|
|
564
|
+
return _userEvent["default"].click(getByRole("button"));
|
|
565
|
+
case 7:
|
|
566
|
+
expect(onClick).toHaveBeenCalled();
|
|
567
|
+
case 8:
|
|
568
|
+
case "end":
|
|
569
|
+
return _context5.stop();
|
|
570
|
+
}
|
|
571
|
+
}, _callee5);
|
|
572
|
+
})));
|
|
573
|
+
test("Text input submit correctly value in form", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
574
|
+
var onClick, action, handlerOnSubmit, _render21, getByText, getAllByRole, getByRole, search, submit, input;
|
|
575
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
576
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
577
|
+
case 0:
|
|
578
|
+
onClick = jest.fn();
|
|
579
|
+
action = {
|
|
580
|
+
onClick: onClick,
|
|
581
|
+
icon: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
582
|
+
"data-testid": "image",
|
|
583
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
584
|
+
height: "24px",
|
|
585
|
+
viewBox: "0 0 24 24",
|
|
586
|
+
width: "24px",
|
|
587
|
+
fill: "currentColor"
|
|
588
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
589
|
+
d: "M0 0h24v24H0V0z",
|
|
590
|
+
fill: "none"
|
|
591
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
592
|
+
d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
|
|
593
|
+
})),
|
|
594
|
+
title: "Search"
|
|
595
|
+
};
|
|
596
|
+
handlerOnSubmit = jest.fn(function (e) {
|
|
597
|
+
e.preventDefault();
|
|
598
|
+
var formData = new FormData(e.target);
|
|
599
|
+
var formProps = Object.fromEntries(formData);
|
|
600
|
+
expect(formProps).toStrictEqual({
|
|
601
|
+
data: "test"
|
|
602
|
+
});
|
|
603
|
+
});
|
|
604
|
+
_render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
605
|
+
onSubmit: handlerOnSubmit
|
|
606
|
+
}, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
607
|
+
label: "Input label",
|
|
608
|
+
name: "data",
|
|
609
|
+
action: action
|
|
610
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
611
|
+
type: "submit"
|
|
612
|
+
}, "Submit"))), getByText = _render21.getByText, getAllByRole = _render21.getAllByRole, getByRole = _render21.getByRole;
|
|
613
|
+
search = getAllByRole("button")[0];
|
|
614
|
+
submit = getByText("Submit");
|
|
615
|
+
input = getByRole("textbox");
|
|
616
|
+
_userEvent["default"].type(input, "test");
|
|
617
|
+
expect(input.value).toBe("test");
|
|
618
|
+
_context6.next = 11;
|
|
619
|
+
return _userEvent["default"].click(search);
|
|
620
|
+
case 11:
|
|
621
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
622
|
+
_context6.next = 14;
|
|
623
|
+
return _userEvent["default"].click(submit);
|
|
624
|
+
case 14:
|
|
625
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
626
|
+
case 15:
|
|
627
|
+
case "end":
|
|
628
|
+
return _context6.stop();
|
|
629
|
+
}
|
|
630
|
+
}, _callee6);
|
|
631
|
+
})));
|
|
565
632
|
test("Renders with correct prefix and suffix", function () {
|
|
566
|
-
var
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
633
|
+
var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
634
|
+
label: "Input label",
|
|
635
|
+
prefix: "+34",
|
|
636
|
+
suffix: "USD"
|
|
637
|
+
})),
|
|
638
|
+
getByText = _render22.getByText;
|
|
573
639
|
expect(getByText("+34")).toBeTruthy();
|
|
574
640
|
expect(getByText("USD")).toBeTruthy();
|
|
575
641
|
});
|
|
576
|
-
test("Input has correct
|
|
642
|
+
test("Text Input has correct aria accessibility attributes", function () {
|
|
577
643
|
var onClick = jest.fn();
|
|
578
644
|
var action = {
|
|
579
645
|
onClick: onClick,
|
|
@@ -592,1134 +658,1099 @@ describe("TextInput component tests", function () {
|
|
|
592
658
|
})),
|
|
593
659
|
title: "Search"
|
|
594
660
|
};
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
getAllByRole = _render22.getAllByRole;
|
|
603
|
-
|
|
661
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
662
|
+
label: "Example label",
|
|
663
|
+
clearable: true,
|
|
664
|
+
action: action
|
|
665
|
+
})),
|
|
666
|
+
getByRole = _render23.getByRole,
|
|
667
|
+
getAllByRole = _render23.getAllByRole;
|
|
604
668
|
var input = getByRole("textbox");
|
|
605
669
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|
|
606
670
|
expect(input.getAttribute("aria-controls")).toBeNull();
|
|
607
671
|
expect(input.getAttribute("aria-expanded")).toBeNull();
|
|
672
|
+
expect(input.getAttribute("aria-haspopup")).toBeNull();
|
|
608
673
|
expect(input.getAttribute("aria-activedescendant")).toBeNull();
|
|
609
674
|
expect(input.getAttribute("aria-invalid")).toBe("false");
|
|
610
675
|
expect(input.getAttribute("aria-errormessage")).toBeNull();
|
|
611
676
|
expect(input.getAttribute("aria-required")).toBe("true");
|
|
612
|
-
|
|
613
677
|
_userEvent["default"].type(input, "Text");
|
|
614
|
-
|
|
615
678
|
var clear = getAllByRole("button")[0];
|
|
616
679
|
expect(clear.getAttribute("aria-label")).toBe("Clear field");
|
|
617
680
|
var search = getAllByRole("button")[1];
|
|
618
681
|
expect(search.getAttribute("aria-label")).toBe("Search");
|
|
619
682
|
});
|
|
620
|
-
test("Autosuggest has correct
|
|
621
|
-
var
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
683
|
+
test("Autosuggest has correct accessibility attributes", function () {
|
|
684
|
+
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
685
|
+
label: "Autocomplete Countries",
|
|
686
|
+
optional: true,
|
|
687
|
+
suggestions: countries
|
|
688
|
+
})),
|
|
689
|
+
getByRole = _render24.getByRole,
|
|
690
|
+
getAllByRole = _render24.getAllByRole;
|
|
629
691
|
var input = getByRole("combobox");
|
|
630
692
|
expect(input.getAttribute("aria-autocomplete")).toBe("list");
|
|
631
693
|
expect(input.getAttribute("aria-expanded")).toBe("false");
|
|
694
|
+
expect(input.getAttribute("aria-haspopup")).toBe("listbox");
|
|
632
695
|
expect(input.getAttribute("aria-required")).toBe("false");
|
|
633
|
-
|
|
634
696
|
_react2.fireEvent.focus(input);
|
|
635
|
-
|
|
636
697
|
var list = getByRole("listbox");
|
|
637
698
|
expect(input.getAttribute("aria-controls")).toBe(list.id);
|
|
638
699
|
expect(input.getAttribute("aria-expanded")).toBe("true");
|
|
639
|
-
expect(list.getAttribute("aria-label")).toBe("Autocomplete Countries");
|
|
640
700
|
var options = getAllByRole("option");
|
|
641
|
-
expect(options[0].getAttribute("aria-selected")).
|
|
701
|
+
expect(options[0].getAttribute("aria-selected")).toBeNull();
|
|
702
|
+
});
|
|
703
|
+
test("Mouse wheel interaction does not affect the text value", function () {
|
|
704
|
+
var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
705
|
+
label: "Default label",
|
|
706
|
+
placeholder: "Placeholder",
|
|
707
|
+
defaultValue: "Example text"
|
|
708
|
+
})),
|
|
709
|
+
getByRole = _render25.getByRole;
|
|
710
|
+
var input = getByRole("textbox");
|
|
711
|
+
_react2.fireEvent.wheel(input, {
|
|
712
|
+
deltaY: -100
|
|
713
|
+
});
|
|
714
|
+
expect(input.value).toBe("Example text");
|
|
715
|
+
_react2.fireEvent.wheel(input, {
|
|
716
|
+
deltaY: 100
|
|
717
|
+
});
|
|
718
|
+
expect(input.value).toBe("Example text");
|
|
642
719
|
});
|
|
643
720
|
});
|
|
644
721
|
describe("TextInput component synchronous autosuggest tests", function () {
|
|
645
|
-
test("Autosuggest is displayed when the input gains focus",
|
|
646
|
-
var onChange
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
722
|
+
test("Autosuggest is displayed when the input gains focus", function () {
|
|
723
|
+
var onChange = jest.fn();
|
|
724
|
+
var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
725
|
+
label: "Autocomplete Countries",
|
|
726
|
+
suggestions: countries,
|
|
727
|
+
onChange: onChange
|
|
728
|
+
})),
|
|
729
|
+
getByRole = _render26.getByRole,
|
|
730
|
+
getByText = _render26.getByText;
|
|
731
|
+
var input = getByRole("combobox");
|
|
732
|
+
_react2.fireEvent.focus(input);
|
|
733
|
+
var list = getByRole("listbox");
|
|
734
|
+
expect(list).toBeTruthy();
|
|
735
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
736
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
737
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
738
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
739
|
+
});
|
|
740
|
+
test("Autosuggest is displayed when the user clicks the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
741
|
+
var onChange, _render27, getByRole, getByText, input, list;
|
|
742
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
743
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
744
|
+
case 0:
|
|
745
|
+
onChange = jest.fn();
|
|
746
|
+
_render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
747
|
+
label: "Autocomplete Countries",
|
|
748
|
+
suggestions: countries,
|
|
749
|
+
onChange: onChange
|
|
750
|
+
})), getByRole = _render27.getByRole, getByText = _render27.getByText;
|
|
751
|
+
input = getByRole("combobox");
|
|
752
|
+
_context7.next = 5;
|
|
753
|
+
return _userEvent["default"].click(input);
|
|
754
|
+
case 5:
|
|
755
|
+
list = getByRole("listbox");
|
|
756
|
+
expect(list).toBeTruthy();
|
|
757
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
758
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
759
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
760
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
761
|
+
case 11:
|
|
762
|
+
case "end":
|
|
763
|
+
return _context7.stop();
|
|
673
764
|
}
|
|
674
|
-
},
|
|
765
|
+
}, _callee7);
|
|
675
766
|
})));
|
|
676
|
-
test("Autosuggest is displayed
|
|
677
|
-
var
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
697
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
698
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
699
|
-
|
|
700
|
-
case 10:
|
|
701
|
-
case "end":
|
|
702
|
-
return _context3.stop();
|
|
703
|
-
}
|
|
767
|
+
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
768
|
+
var _render28, getByRole, getByText, getAllByText, input;
|
|
769
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
770
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
771
|
+
case 0:
|
|
772
|
+
_render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
773
|
+
label: "Autocomplete Countries",
|
|
774
|
+
suggestions: countries
|
|
775
|
+
})), getByRole = _render28.getByRole, getByText = _render28.getByText, getAllByText = _render28.getAllByText;
|
|
776
|
+
input = getByRole("combobox");
|
|
777
|
+
_context8.next = 4;
|
|
778
|
+
return _userEvent["default"].type(input, "Bah");
|
|
779
|
+
case 4:
|
|
780
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
781
|
+
expect(getAllByText("Bah").length).toBe(2);
|
|
782
|
+
expect(getByText("amas")).toBeTruthy();
|
|
783
|
+
expect(getByText("rain")).toBeTruthy();
|
|
784
|
+
case 8:
|
|
785
|
+
case "end":
|
|
786
|
+
return _context8.stop();
|
|
704
787
|
}
|
|
705
|
-
},
|
|
788
|
+
}, _callee8);
|
|
706
789
|
})));
|
|
707
|
-
test("
|
|
708
|
-
var onChange,
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
code: "Esc",
|
|
730
|
-
keyCode: 27,
|
|
731
|
-
charCode: 27
|
|
732
|
-
});
|
|
733
|
-
|
|
734
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
735
|
-
|
|
736
|
-
_userEvent["default"].type(input, "B");
|
|
737
|
-
|
|
738
|
-
expect(list).toBeTruthy();
|
|
739
|
-
expect(getAllByText("B").length).toBe(4);
|
|
740
|
-
expect(getByText("ahamas")).toBeTruthy();
|
|
741
|
-
expect(getByText("ahrain")).toBeTruthy();
|
|
742
|
-
expect(getByText("angladesh")).toBeTruthy();
|
|
743
|
-
expect(getByText("arbados")).toBeTruthy();
|
|
744
|
-
|
|
745
|
-
case 15:
|
|
746
|
-
case "end":
|
|
747
|
-
return _context4.stop();
|
|
748
|
-
}
|
|
790
|
+
test("Read-only text input does not open the suggestions list", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
791
|
+
var onChange, _render29, getByRole, queryByRole, input;
|
|
792
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
793
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
794
|
+
case 0:
|
|
795
|
+
onChange = jest.fn();
|
|
796
|
+
_render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
797
|
+
label: "Autocomplete Countries",
|
|
798
|
+
suggestions: countries,
|
|
799
|
+
onChange: onChange,
|
|
800
|
+
readOnly: true
|
|
801
|
+
})), getByRole = _render29.getByRole, queryByRole = _render29.queryByRole;
|
|
802
|
+
input = getByRole("combobox");
|
|
803
|
+
_react2.fireEvent.focus(input);
|
|
804
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
805
|
+
_context9.next = 7;
|
|
806
|
+
return _userEvent["default"].click(input);
|
|
807
|
+
case 7:
|
|
808
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
809
|
+
case 8:
|
|
810
|
+
case "end":
|
|
811
|
+
return _context9.stop();
|
|
749
812
|
}
|
|
750
|
-
},
|
|
813
|
+
}, _callee9);
|
|
751
814
|
})));
|
|
752
815
|
test("Autosuggest displays filtered when the input has a default value", function () {
|
|
753
|
-
var
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
816
|
+
var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
817
|
+
label: "Uncontrolled suggestions filtered by default",
|
|
818
|
+
helperText: "Example of helper text",
|
|
819
|
+
placeholder: "Placeholder",
|
|
820
|
+
margin: "medium",
|
|
821
|
+
defaultValue: "Suggestion 2",
|
|
822
|
+
suggestions: ["Suggestion 11", "Suggestion 12", "Suggestion 23", "Suggestion 24"],
|
|
823
|
+
clearable: true
|
|
824
|
+
})),
|
|
825
|
+
getByRole = _render30.getByRole,
|
|
826
|
+
getByText = _render30.getByText,
|
|
827
|
+
getAllByText = _render30.getAllByText;
|
|
766
828
|
var input = getByRole("combobox");
|
|
767
829
|
expect(input.value).toBe("Suggestion 2");
|
|
768
|
-
|
|
769
830
|
_react2.fireEvent.focus(input);
|
|
770
|
-
|
|
771
831
|
expect(getAllByText("Suggestion 2").length).toBe(2);
|
|
772
832
|
expect(getByText("3")).toBeTruthy();
|
|
773
833
|
expect(getByText("4")).toBeTruthy();
|
|
774
834
|
});
|
|
775
|
-
test("Autosuggest is not displayed when prop suggestions is an empty array",
|
|
776
|
-
var onChange
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
835
|
+
test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
|
|
836
|
+
var onChange = jest.fn();
|
|
837
|
+
var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
838
|
+
label: "Autocomplete Countries",
|
|
839
|
+
suggestions: [],
|
|
840
|
+
onChange: onChange
|
|
841
|
+
})),
|
|
842
|
+
queryByRole = _render31.queryByRole;
|
|
843
|
+
var input = queryByRole("textbox");
|
|
844
|
+
_react2.fireEvent.focus(input);
|
|
845
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
846
|
+
});
|
|
847
|
+
test("Autosuggest closes the listbox when there are no matches for the user's input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
848
|
+
var onChange, _render32, getByRole, queryByRole, input;
|
|
849
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
850
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
851
|
+
case 0:
|
|
852
|
+
onChange = jest.fn();
|
|
853
|
+
_render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
854
|
+
label: "Autocomplete Countries",
|
|
855
|
+
suggestions: countries,
|
|
856
|
+
onChange: onChange
|
|
857
|
+
})), getByRole = _render32.getByRole, queryByRole = _render32.queryByRole;
|
|
858
|
+
input = getByRole("combobox");
|
|
859
|
+
_context11.next = 5;
|
|
860
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
861
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
862
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
863
|
+
case 0:
|
|
864
|
+
_userEvent["default"].type(input, "x");
|
|
865
|
+
case 1:
|
|
866
|
+
case "end":
|
|
867
|
+
return _context10.stop();
|
|
868
|
+
}
|
|
869
|
+
}, _callee10);
|
|
870
|
+
})));
|
|
871
|
+
case 5:
|
|
872
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
873
|
+
case 6:
|
|
874
|
+
case "end":
|
|
875
|
+
return _context11.stop();
|
|
798
876
|
}
|
|
799
|
-
},
|
|
877
|
+
}, _callee11);
|
|
800
878
|
})));
|
|
801
|
-
test("Autosuggest
|
|
802
|
-
var onChange,
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
879
|
+
test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee13() {
|
|
880
|
+
var onChange, _render33, getByRole, queryByRole, input;
|
|
881
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
882
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
883
|
+
case 0:
|
|
884
|
+
onChange = jest.fn();
|
|
885
|
+
_render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
886
|
+
label: "Autocomplete Countries",
|
|
887
|
+
suggestions: countries,
|
|
888
|
+
onChange: onChange
|
|
889
|
+
})), getByRole = _render33.getByRole, queryByRole = _render33.queryByRole;
|
|
890
|
+
input = getByRole("combobox");
|
|
891
|
+
_context13.next = 5;
|
|
892
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
|
|
893
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
894
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
895
|
+
case 0:
|
|
896
|
+
_userEvent["default"].type(input, "x");
|
|
897
|
+
case 1:
|
|
898
|
+
case "end":
|
|
899
|
+
return _context12.stop();
|
|
900
|
+
}
|
|
901
|
+
}, _callee12);
|
|
902
|
+
})));
|
|
903
|
+
case 5:
|
|
904
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
905
|
+
_react2.fireEvent.focus(input);
|
|
906
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
907
|
+
_react2.fireEvent.keyDown(input, {
|
|
908
|
+
key: "ArrowUp",
|
|
909
|
+
code: "ArrowUp",
|
|
910
|
+
keyCode: 38,
|
|
911
|
+
charCode: 38
|
|
912
|
+
});
|
|
913
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
914
|
+
_react2.fireEvent.keyDown(input, {
|
|
915
|
+
key: "ArrowDown",
|
|
916
|
+
code: "ArrowDown",
|
|
917
|
+
keyCode: 40,
|
|
918
|
+
charCode: 40
|
|
919
|
+
});
|
|
920
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
921
|
+
case 12:
|
|
922
|
+
case "end":
|
|
923
|
+
return _context13.stop();
|
|
830
924
|
}
|
|
831
|
-
},
|
|
925
|
+
}, _callee13);
|
|
832
926
|
})));
|
|
833
|
-
test("Autosuggest
|
|
834
|
-
var onChange,
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
case 15:
|
|
881
|
-
case "end":
|
|
882
|
-
return _context7.stop();
|
|
883
|
-
}
|
|
927
|
+
test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
|
|
928
|
+
var onChange, _render34, getByRole, getByText, queryByRole, input;
|
|
929
|
+
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
930
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
931
|
+
case 0:
|
|
932
|
+
onChange = jest.fn();
|
|
933
|
+
_render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
934
|
+
label: "Autocomplete Countries",
|
|
935
|
+
suggestions: countries,
|
|
936
|
+
onChange: onChange
|
|
937
|
+
})), getByRole = _render34.getByRole, getByText = _render34.getByText, queryByRole = _render34.queryByRole;
|
|
938
|
+
input = getByRole("combobox");
|
|
939
|
+
_react2.fireEvent.focus(input);
|
|
940
|
+
_context16.next = 6;
|
|
941
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
|
|
942
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
943
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
944
|
+
case 0:
|
|
945
|
+
_userEvent["default"].type(input, "Alba");
|
|
946
|
+
case 1:
|
|
947
|
+
case "end":
|
|
948
|
+
return _context14.stop();
|
|
949
|
+
}
|
|
950
|
+
}, _callee14);
|
|
951
|
+
})));
|
|
952
|
+
case 6:
|
|
953
|
+
expect(onChange).toHaveBeenCalled();
|
|
954
|
+
expect(getByText("Alba")).toBeTruthy();
|
|
955
|
+
expect(getByText("nia")).toBeTruthy();
|
|
956
|
+
_context16.next = 11;
|
|
957
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
958
|
+
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
959
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
960
|
+
case 0:
|
|
961
|
+
_userEvent["default"].click(getByRole("option"));
|
|
962
|
+
case 1:
|
|
963
|
+
case "end":
|
|
964
|
+
return _context15.stop();
|
|
965
|
+
}
|
|
966
|
+
}, _callee15);
|
|
967
|
+
})));
|
|
968
|
+
case 11:
|
|
969
|
+
expect(input.value).toBe("Albania");
|
|
970
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
971
|
+
case 13:
|
|
972
|
+
case "end":
|
|
973
|
+
return _context16.stop();
|
|
884
974
|
}
|
|
885
|
-
},
|
|
975
|
+
}, _callee16);
|
|
886
976
|
})));
|
|
887
|
-
test("Autosuggest
|
|
888
|
-
var onChange,
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
case "end":
|
|
917
|
-
return _context8.stop();
|
|
918
|
-
}
|
|
977
|
+
test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee17() {
|
|
978
|
+
var onChange, _render35, getByRole, getByText, queryByRole, input;
|
|
979
|
+
return _regenerator["default"].wrap(function _callee17$(_context17) {
|
|
980
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
981
|
+
case 0:
|
|
982
|
+
onChange = jest.fn();
|
|
983
|
+
_render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
984
|
+
label: "Autocomplete Countries",
|
|
985
|
+
value: "Andor",
|
|
986
|
+
suggestions: countries,
|
|
987
|
+
onChange: onChange
|
|
988
|
+
})), getByRole = _render35.getByRole, getByText = _render35.getByText, queryByRole = _render35.queryByRole;
|
|
989
|
+
input = getByRole("combobox");
|
|
990
|
+
_context17.next = 5;
|
|
991
|
+
return _userEvent["default"].click(getByText("Autocomplete Countries"));
|
|
992
|
+
case 5:
|
|
993
|
+
expect(input.value).toBe("Andor");
|
|
994
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
995
|
+
expect(getByText("ra")).toBeTruthy();
|
|
996
|
+
_context17.next = 10;
|
|
997
|
+
return _userEvent["default"].click(getByRole("option"));
|
|
998
|
+
case 10:
|
|
999
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1000
|
+
value: "Andorra"
|
|
1001
|
+
});
|
|
1002
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1003
|
+
case 12:
|
|
1004
|
+
case "end":
|
|
1005
|
+
return _context17.stop();
|
|
919
1006
|
}
|
|
920
|
-
},
|
|
1007
|
+
}, _callee17);
|
|
921
1008
|
})));
|
|
922
|
-
test("Autosuggest
|
|
923
|
-
var onChange,
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
1009
|
+
test("Autosuggest - Pattern constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee20() {
|
|
1010
|
+
var onChange, onBlur, _render36, getByRole, getByText, input;
|
|
1011
|
+
return _regenerator["default"].wrap(function _callee20$(_context20) {
|
|
1012
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
1013
|
+
case 0:
|
|
1014
|
+
onChange = jest.fn();
|
|
1015
|
+
onBlur = jest.fn();
|
|
1016
|
+
_render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1017
|
+
label: "Autocomplete Countries",
|
|
1018
|
+
suggestions: countries,
|
|
1019
|
+
onChange: onChange,
|
|
1020
|
+
onBlur: onBlur,
|
|
1021
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
1022
|
+
})), getByRole = _render36.getByRole, getByText = _render36.getByText;
|
|
1023
|
+
input = getByRole("combobox");
|
|
1024
|
+
_react2.fireEvent.focus(input);
|
|
1025
|
+
_context20.next = 7;
|
|
1026
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
|
|
1027
|
+
return _regenerator["default"].wrap(function _callee18$(_context18) {
|
|
1028
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
1029
|
+
case 0:
|
|
1030
|
+
_userEvent["default"].type(input, "Andor");
|
|
1031
|
+
case 1:
|
|
1032
|
+
case "end":
|
|
1033
|
+
return _context18.stop();
|
|
1034
|
+
}
|
|
1035
|
+
}, _callee18);
|
|
1036
|
+
})));
|
|
1037
|
+
case 7:
|
|
1038
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
1039
|
+
expect(getByText("ra")).toBeTruthy();
|
|
1040
|
+
_context20.next = 11;
|
|
1041
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
|
|
1042
|
+
return _regenerator["default"].wrap(function _callee19$(_context19) {
|
|
1043
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
1044
|
+
case 0:
|
|
1045
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1046
|
+
case 1:
|
|
1047
|
+
case "end":
|
|
1048
|
+
return _context19.stop();
|
|
1049
|
+
}
|
|
1050
|
+
}, _callee19);
|
|
1051
|
+
})));
|
|
1052
|
+
case 11:
|
|
1053
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1054
|
+
value: "Andorra",
|
|
1055
|
+
error: "Please match the format requested."
|
|
1056
|
+
});
|
|
1057
|
+
_react2.fireEvent.blur(input);
|
|
1058
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
1059
|
+
value: "Andorra",
|
|
1060
|
+
error: "Please match the format requested."
|
|
1061
|
+
});
|
|
1062
|
+
case 14:
|
|
1063
|
+
case "end":
|
|
1064
|
+
return _context20.stop();
|
|
956
1065
|
}
|
|
957
|
-
},
|
|
1066
|
+
}, _callee20);
|
|
958
1067
|
})));
|
|
959
|
-
test("Autosuggest -
|
|
960
|
-
var onChange, onBlur,
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1068
|
+
test("Autosuggest - Length constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee23() {
|
|
1069
|
+
var onChange, onBlur, _render37, getByText, getByRole, input;
|
|
1070
|
+
return _regenerator["default"].wrap(function _callee23$(_context23) {
|
|
1071
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
1072
|
+
case 0:
|
|
1073
|
+
onChange = jest.fn();
|
|
1074
|
+
onBlur = jest.fn();
|
|
1075
|
+
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1076
|
+
label: "Autocomplete Countries",
|
|
1077
|
+
suggestions: countries,
|
|
1078
|
+
onChange: onChange,
|
|
1079
|
+
onBlur: onBlur,
|
|
1080
|
+
minLength: 5,
|
|
1081
|
+
maxLength: 10
|
|
1082
|
+
})), getByText = _render37.getByText, getByRole = _render37.getByRole;
|
|
1083
|
+
input = getByRole("combobox");
|
|
1084
|
+
_react2.fireEvent.focus(input);
|
|
1085
|
+
_context23.next = 7;
|
|
1086
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee21() {
|
|
1087
|
+
return _regenerator["default"].wrap(function _callee21$(_context21) {
|
|
1088
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
1089
|
+
case 0:
|
|
1090
|
+
_userEvent["default"].type(input, "Cha");
|
|
1091
|
+
case 1:
|
|
1092
|
+
case "end":
|
|
1093
|
+
return _context21.stop();
|
|
1094
|
+
}
|
|
1095
|
+
}, _callee21);
|
|
1096
|
+
})));
|
|
1097
|
+
case 7:
|
|
1098
|
+
expect(getByText("Cha")).toBeTruthy();
|
|
1099
|
+
expect(getByText("d")).toBeTruthy();
|
|
1100
|
+
_context23.next = 11;
|
|
1101
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee22() {
|
|
1102
|
+
return _regenerator["default"].wrap(function _callee22$(_context22) {
|
|
1103
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1104
|
+
case 0:
|
|
1105
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1106
|
+
case 1:
|
|
1107
|
+
case "end":
|
|
1108
|
+
return _context22.stop();
|
|
1109
|
+
}
|
|
1110
|
+
}, _callee22);
|
|
1111
|
+
})));
|
|
1112
|
+
case 11:
|
|
1113
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1114
|
+
value: "Cha",
|
|
1115
|
+
error: "Min length 5, max length 10."
|
|
1116
|
+
});
|
|
1117
|
+
_react2.fireEvent.blur(input);
|
|
1118
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
1119
|
+
value: "Chad",
|
|
1120
|
+
error: "Min length 5, max length 10."
|
|
1121
|
+
});
|
|
1122
|
+
case 14:
|
|
1123
|
+
case "end":
|
|
1124
|
+
return _context23.stop();
|
|
1002
1125
|
}
|
|
1003
|
-
},
|
|
1126
|
+
}, _callee23);
|
|
1004
1127
|
})));
|
|
1005
|
-
test("Autosuggest
|
|
1006
|
-
var onChange
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1128
|
+
test("Autosuggest keys: arrow down key opens autosuggest, active first option is selected with Enter and closes the autosuggest", function () {
|
|
1129
|
+
var onChange = jest.fn();
|
|
1130
|
+
var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1131
|
+
label: "Autocomplete Countries",
|
|
1132
|
+
suggestions: countries,
|
|
1133
|
+
onChange: onChange
|
|
1134
|
+
})),
|
|
1135
|
+
getByRole = _render38.getByRole,
|
|
1136
|
+
queryByRole = _render38.queryByRole;
|
|
1137
|
+
var input = getByRole("combobox");
|
|
1138
|
+
_react2.fireEvent.keyDown(input, {
|
|
1139
|
+
key: "ArrowDown",
|
|
1140
|
+
code: "ArrowDown",
|
|
1141
|
+
keyCode: 40,
|
|
1142
|
+
charCode: 40
|
|
1143
|
+
});
|
|
1144
|
+
var list = getByRole("listbox");
|
|
1145
|
+
expect(list).toBeTruthy();
|
|
1146
|
+
_react2.fireEvent.keyDown(input, {
|
|
1147
|
+
key: "Enter",
|
|
1148
|
+
code: "Enter",
|
|
1149
|
+
keyCode: 13,
|
|
1150
|
+
charCode: 13
|
|
1151
|
+
});
|
|
1152
|
+
expect(input.value).toBe("Afghanistan");
|
|
1153
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1154
|
+
});
|
|
1155
|
+
test("Autosuggest keys: arrow up key opens autosuggest, active last option is selected with Enter and closes the autosuggest", function () {
|
|
1156
|
+
var onChange = jest.fn();
|
|
1157
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1158
|
+
label: "Autocomplete Countries",
|
|
1159
|
+
suggestions: countries,
|
|
1160
|
+
onChange: onChange
|
|
1161
|
+
})),
|
|
1162
|
+
getByRole = _render39.getByRole,
|
|
1163
|
+
queryByRole = _render39.queryByRole;
|
|
1164
|
+
var input = getByRole("combobox");
|
|
1165
|
+
_react2.fireEvent.keyDown(input, {
|
|
1166
|
+
key: "ArrowUp",
|
|
1167
|
+
code: "ArrowUp",
|
|
1168
|
+
keyCode: 38,
|
|
1169
|
+
charCode: 38
|
|
1170
|
+
});
|
|
1171
|
+
var list = getByRole("listbox");
|
|
1172
|
+
expect(list).toBeTruthy();
|
|
1173
|
+
_react2.fireEvent.keyDown(input, {
|
|
1174
|
+
key: "Enter",
|
|
1175
|
+
code: "Enter",
|
|
1176
|
+
keyCode: 13,
|
|
1177
|
+
charCode: 13
|
|
1178
|
+
});
|
|
1179
|
+
expect(input.value).toBe("Djibouti");
|
|
1180
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1181
|
+
});
|
|
1182
|
+
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", function () {
|
|
1183
|
+
var onChange = jest.fn();
|
|
1184
|
+
var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1185
|
+
label: "Autocomplete Countries",
|
|
1186
|
+
suggestions: countries,
|
|
1187
|
+
onChange: onChange
|
|
1188
|
+
})),
|
|
1189
|
+
getByRole = _render40.getByRole,
|
|
1190
|
+
queryByRole = _render40.queryByRole;
|
|
1191
|
+
var input = getByRole("combobox");
|
|
1192
|
+
_react2.fireEvent.focus(input);
|
|
1193
|
+
_userEvent["default"].type(input, "Bangla");
|
|
1194
|
+
var list = getByRole("listbox");
|
|
1195
|
+
expect(list).toBeTruthy();
|
|
1196
|
+
_react2.fireEvent.keyDown(input, {
|
|
1197
|
+
key: "Esc",
|
|
1198
|
+
code: "Esc",
|
|
1199
|
+
keyCode: 27,
|
|
1200
|
+
charCode: 27
|
|
1201
|
+
});
|
|
1202
|
+
expect(input.value).toBe("");
|
|
1203
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1204
|
+
});
|
|
1205
|
+
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", function () {
|
|
1206
|
+
var onChange = jest.fn();
|
|
1207
|
+
var _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1208
|
+
label: "Autocomplete Countries",
|
|
1209
|
+
suggestions: countries,
|
|
1210
|
+
onChange: onChange
|
|
1211
|
+
})),
|
|
1212
|
+
getByRole = _render41.getByRole,
|
|
1213
|
+
queryByRole = _render41.queryByRole;
|
|
1214
|
+
var input = getByRole("combobox");
|
|
1215
|
+
_react2.fireEvent.focus(input);
|
|
1216
|
+
var list = getByRole("listbox");
|
|
1217
|
+
expect(list).toBeTruthy();
|
|
1218
|
+
_react2.fireEvent.keyDown(input, {
|
|
1219
|
+
key: "Enter",
|
|
1220
|
+
code: "Enter",
|
|
1221
|
+
keyCode: 27,
|
|
1222
|
+
charCode: 27
|
|
1223
|
+
});
|
|
1224
|
+
expect(input.value).toBe("");
|
|
1225
|
+
expect(queryByRole("list")).toBeFalsy();
|
|
1226
|
+
});
|
|
1227
|
+
test("Autosuggest complex key sequence: write, arrow up two times, arrow down and select with Enter. Then, clean with Esc.", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee25() {
|
|
1228
|
+
var onChange, _render42, getByRole, queryByRole, input;
|
|
1229
|
+
return _regenerator["default"].wrap(function _callee25$(_context25) {
|
|
1230
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
1231
|
+
case 0:
|
|
1232
|
+
onChange = jest.fn();
|
|
1233
|
+
_render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1234
|
+
label: "Autocomplete Countries",
|
|
1235
|
+
suggestions: countries,
|
|
1236
|
+
onChange: onChange
|
|
1237
|
+
})), getByRole = _render42.getByRole, queryByRole = _render42.queryByRole;
|
|
1238
|
+
input = getByRole("combobox");
|
|
1239
|
+
_react2.fireEvent.focus(input);
|
|
1240
|
+
_context25.next = 6;
|
|
1241
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee24() {
|
|
1242
|
+
return _regenerator["default"].wrap(function _callee24$(_context24) {
|
|
1243
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
1244
|
+
case 0:
|
|
1245
|
+
_userEvent["default"].type(input, "Ba");
|
|
1246
|
+
case 1:
|
|
1247
|
+
case "end":
|
|
1248
|
+
return _context24.stop();
|
|
1249
|
+
}
|
|
1250
|
+
}, _callee24);
|
|
1251
|
+
})));
|
|
1252
|
+
case 6:
|
|
1253
|
+
_react2.fireEvent.keyDown(input, {
|
|
1254
|
+
key: "ArrowUp",
|
|
1255
|
+
code: "ArrowUp",
|
|
1256
|
+
keyCode: 38,
|
|
1257
|
+
charCode: 38
|
|
1258
|
+
});
|
|
1259
|
+
_react2.fireEvent.keyDown(input, {
|
|
1260
|
+
key: "ArrowUp",
|
|
1261
|
+
code: "ArrowUpp",
|
|
1262
|
+
keyCode: 38,
|
|
1263
|
+
charCode: 38
|
|
1264
|
+
});
|
|
1265
|
+
_react2.fireEvent.keyDown(input, {
|
|
1266
|
+
key: "ArrowDown",
|
|
1267
|
+
code: "ArrowDown",
|
|
1268
|
+
keyCode: 40,
|
|
1269
|
+
charCode: 40
|
|
1270
|
+
});
|
|
1271
|
+
_react2.fireEvent.keyDown(input, {
|
|
1272
|
+
key: "Enter",
|
|
1273
|
+
code: "Enter",
|
|
1274
|
+
keyCode: 13,
|
|
1275
|
+
charCode: 13
|
|
1276
|
+
});
|
|
1277
|
+
expect(input.value).toBe("Barbados");
|
|
1278
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1279
|
+
_react2.fireEvent.keyDown(input, {
|
|
1280
|
+
key: "Esc",
|
|
1281
|
+
code: "Esp",
|
|
1282
|
+
keyCode: 27,
|
|
1283
|
+
charCode: 27
|
|
1284
|
+
});
|
|
1285
|
+
expect(input.value).toBe("");
|
|
1286
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1287
|
+
case 15:
|
|
1288
|
+
case "end":
|
|
1289
|
+
return _context25.stop();
|
|
1049
1290
|
}
|
|
1050
|
-
},
|
|
1291
|
+
}, _callee25);
|
|
1051
1292
|
})));
|
|
1052
|
-
test("Autosuggest
|
|
1053
|
-
var onChange
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
_react2.fireEvent.keyDown(input, {
|
|
1068
|
-
key: "ArrowDown",
|
|
1069
|
-
code: "ArrowDown",
|
|
1070
|
-
keyCode: 40,
|
|
1071
|
-
charCode: 40
|
|
1072
|
-
});
|
|
1073
|
-
|
|
1074
|
-
list = getByRole("listbox");
|
|
1075
|
-
expect(list).toBeTruthy();
|
|
1076
|
-
|
|
1077
|
-
_react2.fireEvent.keyDown(input, {
|
|
1078
|
-
key: "Enter",
|
|
1079
|
-
code: "Enter",
|
|
1080
|
-
keyCode: 13,
|
|
1081
|
-
charCode: 13
|
|
1082
|
-
});
|
|
1083
|
-
|
|
1084
|
-
expect(input.value).toBe("Afghanistan");
|
|
1085
|
-
expect(queryByRole("list")).toBeFalsy();
|
|
1086
|
-
|
|
1087
|
-
case 9:
|
|
1088
|
-
case "end":
|
|
1089
|
-
return _context12.stop();
|
|
1090
|
-
}
|
|
1293
|
+
test("Autosuggest escapes special characters", function () {
|
|
1294
|
+
var onChange = jest.fn();
|
|
1295
|
+
var _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1296
|
+
label: "Autocomplete Countries",
|
|
1297
|
+
suggestions: specialCharacters,
|
|
1298
|
+
onChange: onChange
|
|
1299
|
+
})),
|
|
1300
|
+
getAllByText = _render43.getAllByText,
|
|
1301
|
+
getByRole = _render43.getByRole;
|
|
1302
|
+
var input = getByRole("combobox");
|
|
1303
|
+
_react2.fireEvent.focus(input);
|
|
1304
|
+
var list = getByRole("listbox");
|
|
1305
|
+
_react2.fireEvent.change(input, {
|
|
1306
|
+
target: {
|
|
1307
|
+
value: "/"
|
|
1091
1308
|
}
|
|
1092
|
-
}
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
while (1) {
|
|
1099
|
-
switch (_context13.prev = _context13.next) {
|
|
1100
|
-
case 0:
|
|
1101
|
-
onChange = jest.fn();
|
|
1102
|
-
_render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1103
|
-
label: "Autocomplete Countries",
|
|
1104
|
-
suggestions: countries,
|
|
1105
|
-
onChange: onChange
|
|
1106
|
-
})), getByRole = _render36.getByRole, queryByRole = _render36.queryByRole;
|
|
1107
|
-
input = getByRole("combobox");
|
|
1108
|
-
|
|
1109
|
-
_react2.fireEvent.keyDown(input, {
|
|
1110
|
-
key: "ArrowUp",
|
|
1111
|
-
code: "ArrowUp",
|
|
1112
|
-
keyCode: 38,
|
|
1113
|
-
charCode: 38
|
|
1114
|
-
});
|
|
1115
|
-
|
|
1116
|
-
list = getByRole("listbox");
|
|
1117
|
-
expect(list).toBeTruthy();
|
|
1118
|
-
|
|
1119
|
-
_react2.fireEvent.keyDown(input, {
|
|
1120
|
-
key: "Enter",
|
|
1121
|
-
code: "Enter",
|
|
1122
|
-
keyCode: 13,
|
|
1123
|
-
charCode: 13
|
|
1124
|
-
});
|
|
1125
|
-
|
|
1126
|
-
expect(input.value).toBe("Djibouti");
|
|
1127
|
-
expect(queryByRole("list")).toBeFalsy();
|
|
1128
|
-
|
|
1129
|
-
case 9:
|
|
1130
|
-
case "end":
|
|
1131
|
-
return _context13.stop();
|
|
1132
|
-
}
|
|
1309
|
+
});
|
|
1310
|
+
expect(list).toBeTruthy();
|
|
1311
|
+
expect(getAllByText("/").length).toBe(1);
|
|
1312
|
+
_react2.fireEvent.change(input, {
|
|
1313
|
+
target: {
|
|
1314
|
+
value: "\\"
|
|
1133
1315
|
}
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
while (1) {
|
|
1141
|
-
switch (_context14.prev = _context14.next) {
|
|
1142
|
-
case 0:
|
|
1143
|
-
onChange = jest.fn();
|
|
1144
|
-
_render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1145
|
-
label: "Autocomplete Countries",
|
|
1146
|
-
suggestions: countries,
|
|
1147
|
-
onChange: onChange
|
|
1148
|
-
})), getByRole = _render37.getByRole, queryByRole = _render37.queryByRole;
|
|
1149
|
-
input = getByRole("combobox");
|
|
1150
|
-
|
|
1151
|
-
_react2.fireEvent.focus(input);
|
|
1152
|
-
|
|
1153
|
-
_userEvent["default"].type(input, "Bangla");
|
|
1154
|
-
|
|
1155
|
-
list = getByRole("listbox");
|
|
1156
|
-
expect(list).toBeTruthy();
|
|
1157
|
-
|
|
1158
|
-
_react2.fireEvent.keyDown(input, {
|
|
1159
|
-
key: "Esc",
|
|
1160
|
-
code: "Esc",
|
|
1161
|
-
keyCode: 27,
|
|
1162
|
-
charCode: 27
|
|
1163
|
-
});
|
|
1164
|
-
|
|
1165
|
-
expect(input.value).toBe("");
|
|
1166
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1167
|
-
|
|
1168
|
-
case 10:
|
|
1169
|
-
case "end":
|
|
1170
|
-
return _context14.stop();
|
|
1171
|
-
}
|
|
1316
|
+
});
|
|
1317
|
+
expect(list).toBeTruthy();
|
|
1318
|
+
expect(getAllByText("\\").length).toBe(1);
|
|
1319
|
+
_react2.fireEvent.change(input, {
|
|
1320
|
+
target: {
|
|
1321
|
+
value: "*"
|
|
1172
1322
|
}
|
|
1173
|
-
}
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
while (1) {
|
|
1180
|
-
switch (_context15.prev = _context15.next) {
|
|
1181
|
-
case 0:
|
|
1182
|
-
onChange = jest.fn();
|
|
1183
|
-
_render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1184
|
-
label: "Autocomplete Countries",
|
|
1185
|
-
suggestions: countries,
|
|
1186
|
-
onChange: onChange
|
|
1187
|
-
})), getByRole = _render38.getByRole, queryByRole = _render38.queryByRole;
|
|
1188
|
-
input = getByRole("combobox");
|
|
1189
|
-
|
|
1190
|
-
_react2.fireEvent.focus(input);
|
|
1191
|
-
|
|
1192
|
-
list = getByRole("listbox");
|
|
1193
|
-
expect(list).toBeTruthy();
|
|
1194
|
-
|
|
1195
|
-
_react2.fireEvent.keyDown(input, {
|
|
1196
|
-
key: "Enter",
|
|
1197
|
-
code: "Enter",
|
|
1198
|
-
keyCode: 27,
|
|
1199
|
-
charCode: 27
|
|
1200
|
-
});
|
|
1201
|
-
|
|
1202
|
-
expect(input.value).toBe("");
|
|
1203
|
-
expect(queryByRole("list")).toBeFalsy();
|
|
1204
|
-
|
|
1205
|
-
case 9:
|
|
1206
|
-
case "end":
|
|
1207
|
-
return _context15.stop();
|
|
1208
|
-
}
|
|
1323
|
+
});
|
|
1324
|
+
expect(list).toBeTruthy();
|
|
1325
|
+
expect(getAllByText("*").length).toBe(2);
|
|
1326
|
+
_react2.fireEvent.change(input, {
|
|
1327
|
+
target: {
|
|
1328
|
+
value: "("
|
|
1209
1329
|
}
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
while (1) {
|
|
1217
|
-
switch (_context16.prev = _context16.next) {
|
|
1218
|
-
case 0:
|
|
1219
|
-
onChange = jest.fn();
|
|
1220
|
-
_render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1221
|
-
label: "Autocomplete Countries",
|
|
1222
|
-
suggestions: countries,
|
|
1223
|
-
onChange: onChange
|
|
1224
|
-
})), getByRole = _render39.getByRole, queryByRole = _render39.queryByRole;
|
|
1225
|
-
input = getByRole("combobox");
|
|
1226
|
-
|
|
1227
|
-
_react2.fireEvent.focus(input);
|
|
1228
|
-
|
|
1229
|
-
_userEvent["default"].type(input, "Ba");
|
|
1230
|
-
|
|
1231
|
-
_react2.fireEvent.keyDown(input, {
|
|
1232
|
-
key: "ArrowUp",
|
|
1233
|
-
code: "ArrowUp",
|
|
1234
|
-
keyCode: 38,
|
|
1235
|
-
charCode: 38
|
|
1236
|
-
});
|
|
1237
|
-
|
|
1238
|
-
_react2.fireEvent.keyDown(input, {
|
|
1239
|
-
key: "ArrowUp",
|
|
1240
|
-
code: "ArrowUpp",
|
|
1241
|
-
keyCode: 38,
|
|
1242
|
-
charCode: 38
|
|
1243
|
-
});
|
|
1244
|
-
|
|
1245
|
-
_react2.fireEvent.keyDown(input, {
|
|
1246
|
-
key: "ArrowDown",
|
|
1247
|
-
code: "ArrowDown",
|
|
1248
|
-
keyCode: 40,
|
|
1249
|
-
charCode: 40
|
|
1250
|
-
});
|
|
1251
|
-
|
|
1252
|
-
_react2.fireEvent.keyDown(input, {
|
|
1253
|
-
key: "Enter",
|
|
1254
|
-
code: "Enter",
|
|
1255
|
-
keyCode: 13,
|
|
1256
|
-
charCode: 13
|
|
1257
|
-
});
|
|
1258
|
-
|
|
1259
|
-
expect(input.value).toBe("Barbados");
|
|
1260
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1261
|
-
|
|
1262
|
-
_react2.fireEvent.keyDown(input, {
|
|
1263
|
-
key: "Esc",
|
|
1264
|
-
code: "Esp",
|
|
1265
|
-
keyCode: 27,
|
|
1266
|
-
charCode: 27
|
|
1267
|
-
});
|
|
1268
|
-
|
|
1269
|
-
expect(input.value).toBe("");
|
|
1270
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1271
|
-
|
|
1272
|
-
case 14:
|
|
1273
|
-
case "end":
|
|
1274
|
-
return _context16.stop();
|
|
1275
|
-
}
|
|
1330
|
+
});
|
|
1331
|
+
expect(list).toBeTruthy();
|
|
1332
|
+
expect(getAllByText("(").length).toBe(1);
|
|
1333
|
+
_react2.fireEvent.change(input, {
|
|
1334
|
+
target: {
|
|
1335
|
+
value: ")"
|
|
1276
1336
|
}
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1337
|
+
});
|
|
1338
|
+
expect(list).toBeTruthy();
|
|
1339
|
+
expect(getAllByText(")").length).toBe(1);
|
|
1340
|
+
_react2.fireEvent.change(input, {
|
|
1341
|
+
target: {
|
|
1342
|
+
value: "["
|
|
1343
|
+
}
|
|
1344
|
+
});
|
|
1345
|
+
expect(list).toBeTruthy();
|
|
1346
|
+
expect(getAllByText("[").length).toBe(1);
|
|
1347
|
+
_react2.fireEvent.change(input, {
|
|
1348
|
+
target: {
|
|
1349
|
+
value: "]"
|
|
1350
|
+
}
|
|
1351
|
+
});
|
|
1352
|
+
expect(list).toBeTruthy();
|
|
1353
|
+
expect(getAllByText("]").length).toBe(1);
|
|
1354
|
+
_react2.fireEvent.change(input, {
|
|
1355
|
+
target: {
|
|
1356
|
+
value: "+"
|
|
1357
|
+
}
|
|
1358
|
+
});
|
|
1359
|
+
expect(list).toBeTruthy();
|
|
1360
|
+
expect(getAllByText("+").length).toBe(1);
|
|
1361
|
+
_react2.fireEvent.change(input, {
|
|
1362
|
+
target: {
|
|
1363
|
+
value: "?"
|
|
1364
|
+
}
|
|
1365
|
+
});
|
|
1366
|
+
expect(list).toBeTruthy();
|
|
1367
|
+
expect(getAllByText("?").length).toBe(1);
|
|
1368
|
+
});
|
|
1279
1369
|
});
|
|
1280
1370
|
describe("TextInput component asynchronous autosuggest tests", function () {
|
|
1281
|
-
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1282
|
-
var callbackFunc, onChange,
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
}) : countries);
|
|
1294
|
-
}, 1000);
|
|
1295
|
-
});
|
|
1296
|
-
return result;
|
|
1297
|
-
});
|
|
1298
|
-
onChange = jest.fn();
|
|
1299
|
-
_render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1300
|
-
label: "Autosuggest Countries",
|
|
1301
|
-
suggestions: callbackFunc,
|
|
1302
|
-
onChange: onChange
|
|
1303
|
-
})), getByRole = _render40.getByRole, getByText = _render40.getByText;
|
|
1304
|
-
input = getByRole("combobox");
|
|
1305
|
-
|
|
1306
|
-
_react2.fireEvent.focus(input);
|
|
1307
|
-
|
|
1308
|
-
expect(getByRole("listbox")).toBeTruthy();
|
|
1309
|
-
_context17.next = 8;
|
|
1310
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1311
|
-
return getByText("Searching...");
|
|
1312
|
-
});
|
|
1313
|
-
|
|
1314
|
-
case 8:
|
|
1315
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
1316
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
1317
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
1318
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
1319
|
-
|
|
1320
|
-
_userEvent["default"].type(input, "Ab");
|
|
1321
|
-
|
|
1322
|
-
_context17.next = 15;
|
|
1323
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1324
|
-
return getByText("Searching...");
|
|
1325
|
-
});
|
|
1326
|
-
|
|
1327
|
-
case 15:
|
|
1328
|
-
expect(getByText("Cabo Verde")).toBeTruthy();
|
|
1329
|
-
|
|
1330
|
-
_react2.fireEvent.keyDown(input, {
|
|
1331
|
-
key: "ArrowUp",
|
|
1332
|
-
code: "ArrowUp",
|
|
1333
|
-
keyCode: 38,
|
|
1334
|
-
charCode: 38
|
|
1371
|
+
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee27() {
|
|
1372
|
+
var callbackFunc, onChange, _render44, getByRole, getByText, input;
|
|
1373
|
+
return _regenerator["default"].wrap(function _callee27$(_context27) {
|
|
1374
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
1375
|
+
case 0:
|
|
1376
|
+
callbackFunc = jest.fn(function (newValue) {
|
|
1377
|
+
var result = new Promise(function (resolve) {
|
|
1378
|
+
return setTimeout(function () {
|
|
1379
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1380
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1381
|
+
}) : countries);
|
|
1382
|
+
}, 100);
|
|
1335
1383
|
});
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1384
|
+
return result;
|
|
1385
|
+
});
|
|
1386
|
+
onChange = jest.fn();
|
|
1387
|
+
_render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1388
|
+
label: "Autosuggest Countries",
|
|
1389
|
+
suggestions: callbackFunc,
|
|
1390
|
+
onChange: onChange
|
|
1391
|
+
})), getByRole = _render44.getByRole, getByText = _render44.getByText;
|
|
1392
|
+
input = getByRole("combobox");
|
|
1393
|
+
_react2.fireEvent.focus(input);
|
|
1394
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1395
|
+
_context27.next = 8;
|
|
1396
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1397
|
+
return getByText("Searching...");
|
|
1398
|
+
});
|
|
1399
|
+
case 8:
|
|
1400
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
1401
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
1402
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
1403
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
1404
|
+
_context27.next = 14;
|
|
1405
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee26() {
|
|
1406
|
+
return _regenerator["default"].wrap(function _callee26$(_context26) {
|
|
1407
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
1408
|
+
case 0:
|
|
1409
|
+
_userEvent["default"].type(input, "Ab");
|
|
1410
|
+
case 1:
|
|
1411
|
+
case "end":
|
|
1412
|
+
return _context26.stop();
|
|
1413
|
+
}
|
|
1414
|
+
}, _callee26);
|
|
1415
|
+
})));
|
|
1416
|
+
case 14:
|
|
1417
|
+
_context27.next = 16;
|
|
1418
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1419
|
+
return getByText("Searching...");
|
|
1420
|
+
});
|
|
1421
|
+
case 16:
|
|
1422
|
+
expect(getByText("Cabo Verde")).toBeTruthy();
|
|
1423
|
+
_react2.fireEvent.keyDown(input, {
|
|
1424
|
+
key: "ArrowUp",
|
|
1425
|
+
code: "ArrowUp",
|
|
1426
|
+
keyCode: 38,
|
|
1427
|
+
charCode: 38
|
|
1428
|
+
});
|
|
1429
|
+
_react2.fireEvent.keyDown(input, {
|
|
1430
|
+
key: "Enter",
|
|
1431
|
+
code: "Enter",
|
|
1432
|
+
keyCode: 13,
|
|
1433
|
+
charCode: 13
|
|
1434
|
+
});
|
|
1435
|
+
expect(input.value).toBe("Cabo Verde");
|
|
1436
|
+
case 20:
|
|
1437
|
+
case "end":
|
|
1438
|
+
return _context27.stop();
|
|
1350
1439
|
}
|
|
1351
|
-
},
|
|
1440
|
+
}, _callee27);
|
|
1352
1441
|
})));
|
|
1353
|
-
test("Autosuggest Esc key works while 'Searching...' message is shown",
|
|
1354
|
-
var callbackFunc
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
}
|
|
1400
|
-
}, _callee18);
|
|
1401
|
-
})));
|
|
1402
|
-
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
|
|
1403
|
-
var callbackFunc, onChange, _render42, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1404
|
-
|
|
1405
|
-
return _regenerator["default"].wrap(function _callee19$(_context19) {
|
|
1406
|
-
while (1) {
|
|
1407
|
-
switch (_context19.prev = _context19.next) {
|
|
1408
|
-
case 0:
|
|
1409
|
-
callbackFunc = jest.fn(function (newValue) {
|
|
1410
|
-
var result = new Promise(function (resolve) {
|
|
1411
|
-
return setTimeout(function () {
|
|
1412
|
-
resolve(newValue ? countries.filter(function (option) {
|
|
1413
|
-
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1414
|
-
}) : countries);
|
|
1415
|
-
}, 1000);
|
|
1416
|
-
});
|
|
1417
|
-
return result;
|
|
1418
|
-
});
|
|
1419
|
-
onChange = jest.fn();
|
|
1420
|
-
_render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1421
|
-
label: "Autosuggest Countries",
|
|
1422
|
-
suggestions: callbackFunc,
|
|
1423
|
-
onChange: onChange
|
|
1424
|
-
})), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByText = _render42.queryByText, queryByRole = _render42.queryByRole;
|
|
1425
|
-
input = getByRole("combobox");
|
|
1426
|
-
|
|
1427
|
-
_react2.fireEvent.focus(input);
|
|
1428
|
-
|
|
1429
|
-
list = getByRole("listbox");
|
|
1430
|
-
expect(list).toBeTruthy();
|
|
1431
|
-
|
|
1432
|
-
_userEvent["default"].type(input, "Ab");
|
|
1433
|
-
|
|
1434
|
-
_react2.fireEvent.keyDown(input, {
|
|
1435
|
-
key: "Esc",
|
|
1436
|
-
code: "Esc",
|
|
1437
|
-
keyCode: 27,
|
|
1438
|
-
charCode: 27
|
|
1439
|
-
});
|
|
1440
|
-
|
|
1441
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1442
|
-
expect(queryByText("Searching...")).toBeFalsy();
|
|
1443
|
-
expect(input.value).toBe("");
|
|
1444
|
-
|
|
1445
|
-
_react2.fireEvent.keyDown(input, {
|
|
1446
|
-
key: "ArrowDown",
|
|
1447
|
-
code: "ArrowDown",
|
|
1448
|
-
keyCode: 40,
|
|
1449
|
-
charCode: 40
|
|
1450
|
-
});
|
|
1451
|
-
|
|
1452
|
-
expect(list).toBeTruthy();
|
|
1453
|
-
_context19.next = 16;
|
|
1454
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1455
|
-
return getByText("Searching...");
|
|
1442
|
+
test("Autosuggest Esc key works while 'Searching...' message is shown", function () {
|
|
1443
|
+
var callbackFunc = jest.fn(function (newValue) {
|
|
1444
|
+
var result = new Promise(function (resolve) {
|
|
1445
|
+
return setTimeout(function () {
|
|
1446
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1447
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1448
|
+
}) : countries);
|
|
1449
|
+
}, 100);
|
|
1450
|
+
});
|
|
1451
|
+
return result;
|
|
1452
|
+
});
|
|
1453
|
+
var onChange = jest.fn();
|
|
1454
|
+
var _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1455
|
+
label: "Autosuggest Countries",
|
|
1456
|
+
suggestions: callbackFunc,
|
|
1457
|
+
onChange: onChange
|
|
1458
|
+
})),
|
|
1459
|
+
getByRole = _render45.getByRole,
|
|
1460
|
+
queryByText = _render45.queryByText,
|
|
1461
|
+
queryByRole = _render45.queryByRole;
|
|
1462
|
+
var input = getByRole("combobox");
|
|
1463
|
+
_react2.fireEvent.focus(input);
|
|
1464
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1465
|
+
_userEvent["default"].type(input, "Ab");
|
|
1466
|
+
_react2.fireEvent.keyDown(input, {
|
|
1467
|
+
key: "Esc",
|
|
1468
|
+
code: "Esc",
|
|
1469
|
+
keyCode: 27,
|
|
1470
|
+
charCode: 27
|
|
1471
|
+
});
|
|
1472
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1473
|
+
expect(queryByText("Searching...")).toBeFalsy();
|
|
1474
|
+
expect(input.value).toBe("");
|
|
1475
|
+
});
|
|
1476
|
+
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee28() {
|
|
1477
|
+
var callbackFunc, onChange, _render46, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1478
|
+
return _regenerator["default"].wrap(function _callee28$(_context28) {
|
|
1479
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
1480
|
+
case 0:
|
|
1481
|
+
callbackFunc = jest.fn(function (newValue) {
|
|
1482
|
+
var result = new Promise(function (resolve) {
|
|
1483
|
+
return setTimeout(function () {
|
|
1484
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1485
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1486
|
+
}) : countries);
|
|
1487
|
+
}, 100);
|
|
1456
1488
|
});
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1489
|
+
return result;
|
|
1490
|
+
});
|
|
1491
|
+
onChange = jest.fn();
|
|
1492
|
+
_render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1493
|
+
label: "Autosuggest Countries",
|
|
1494
|
+
suggestions: callbackFunc,
|
|
1495
|
+
onChange: onChange
|
|
1496
|
+
})), getByRole = _render46.getByRole, getByText = _render46.getByText, queryByText = _render46.queryByText, queryByRole = _render46.queryByRole;
|
|
1497
|
+
input = getByRole("combobox");
|
|
1498
|
+
_react2.fireEvent.focus(input);
|
|
1499
|
+
list = getByRole("listbox");
|
|
1500
|
+
expect(list).toBeTruthy();
|
|
1501
|
+
_userEvent["default"].type(input, "Ab");
|
|
1502
|
+
_react2.fireEvent.keyDown(input, {
|
|
1503
|
+
key: "Esc",
|
|
1504
|
+
code: "Esc",
|
|
1505
|
+
keyCode: 27,
|
|
1506
|
+
charCode: 27
|
|
1507
|
+
});
|
|
1508
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1509
|
+
expect(queryByText("Searching...")).toBeFalsy();
|
|
1510
|
+
expect(input.value).toBe("");
|
|
1511
|
+
_react2.fireEvent.keyDown(input, {
|
|
1512
|
+
key: "ArrowDown",
|
|
1513
|
+
code: "ArrowDown",
|
|
1514
|
+
keyCode: 40,
|
|
1515
|
+
charCode: 40
|
|
1516
|
+
});
|
|
1517
|
+
expect(list).toBeTruthy();
|
|
1518
|
+
_context28.next = 16;
|
|
1519
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1520
|
+
return getByText("Searching...");
|
|
1521
|
+
});
|
|
1522
|
+
case 16:
|
|
1523
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
1524
|
+
expect(getByText("Albania")).toBeTruthy();
|
|
1525
|
+
expect(getByText("Algeria")).toBeTruthy();
|
|
1526
|
+
expect(getByText("Andorra")).toBeTruthy();
|
|
1527
|
+
case 20:
|
|
1528
|
+
case "end":
|
|
1529
|
+
return _context28.stop();
|
|
1468
1530
|
}
|
|
1469
|
-
},
|
|
1531
|
+
}, _callee28);
|
|
1470
1532
|
})));
|
|
1471
|
-
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1472
|
-
var callbackFunc, onChange,
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
}) : countries);
|
|
1484
|
-
}, 1000);
|
|
1485
|
-
});
|
|
1486
|
-
return result;
|
|
1487
|
-
});
|
|
1488
|
-
onChange = jest.fn();
|
|
1489
|
-
_render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1490
|
-
label: "Autosuggest Countries",
|
|
1491
|
-
onChange: onChange,
|
|
1492
|
-
suggestions: callbackFunc
|
|
1493
|
-
})), getByRole = _render43.getByRole, getByText = _render43.getByText;
|
|
1494
|
-
input = getByRole("combobox");
|
|
1495
|
-
|
|
1496
|
-
_react2.fireEvent.focus(input);
|
|
1497
|
-
|
|
1498
|
-
_userEvent["default"].type(input, "Den");
|
|
1499
|
-
|
|
1500
|
-
_context20.next = 8;
|
|
1501
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1502
|
-
return getByText("Searching...");
|
|
1533
|
+
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee29() {
|
|
1534
|
+
var callbackFunc, onChange, _render47, getByRole, getByText, input;
|
|
1535
|
+
return _regenerator["default"].wrap(function _callee29$(_context29) {
|
|
1536
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
1537
|
+
case 0:
|
|
1538
|
+
callbackFunc = jest.fn(function (newValue) {
|
|
1539
|
+
var result = new Promise(function (resolve) {
|
|
1540
|
+
return setTimeout(function () {
|
|
1541
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1542
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1543
|
+
}) : countries);
|
|
1544
|
+
}, 100);
|
|
1503
1545
|
});
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1546
|
+
return result;
|
|
1547
|
+
});
|
|
1548
|
+
onChange = jest.fn();
|
|
1549
|
+
_render47 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1550
|
+
label: "Autosuggest Countries",
|
|
1551
|
+
onChange: onChange,
|
|
1552
|
+
suggestions: callbackFunc
|
|
1553
|
+
})), getByRole = _render47.getByRole, getByText = _render47.getByText;
|
|
1554
|
+
input = getByRole("combobox");
|
|
1555
|
+
_react2.fireEvent.focus(input);
|
|
1556
|
+
_userEvent["default"].type(input, "Den");
|
|
1557
|
+
_context29.next = 8;
|
|
1558
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1559
|
+
return getByText("Searching...");
|
|
1560
|
+
});
|
|
1561
|
+
case 8:
|
|
1562
|
+
expect(getByText("Denmark")).toBeTruthy();
|
|
1563
|
+
_context29.next = 11;
|
|
1564
|
+
return _userEvent["default"].click(getByRole("option"));
|
|
1565
|
+
case 11:
|
|
1566
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1567
|
+
value: "Denmark"
|
|
1568
|
+
});
|
|
1569
|
+
expect(input.value).toBe("Denmark");
|
|
1570
|
+
case 13:
|
|
1571
|
+
case "end":
|
|
1572
|
+
return _context29.stop();
|
|
1520
1573
|
}
|
|
1521
|
-
},
|
|
1574
|
+
}, _callee29);
|
|
1522
1575
|
})));
|
|
1523
|
-
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1524
|
-
var callbackFunc, onChange,
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
}) : countries);
|
|
1536
|
-
}, 1000);
|
|
1537
|
-
});
|
|
1538
|
-
return result;
|
|
1539
|
-
});
|
|
1540
|
-
onChange = jest.fn();
|
|
1541
|
-
_render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1542
|
-
label: "Autosuggest Countries",
|
|
1543
|
-
value: "Denm",
|
|
1544
|
-
onChange: onChange,
|
|
1545
|
-
suggestions: callbackFunc
|
|
1546
|
-
})), getByRole = _render44.getByRole, getByText = _render44.getByText, queryByRole = _render44.queryByRole;
|
|
1547
|
-
input = getByRole("combobox");
|
|
1548
|
-
|
|
1549
|
-
_react2.fireEvent.focus(input);
|
|
1550
|
-
|
|
1551
|
-
_context21.next = 7;
|
|
1552
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1553
|
-
return getByText("Searching...");
|
|
1576
|
+
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee30() {
|
|
1577
|
+
var callbackFunc, onChange, _render48, getByRole, getByText, queryByRole, input;
|
|
1578
|
+
return _regenerator["default"].wrap(function _callee30$(_context30) {
|
|
1579
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
1580
|
+
case 0:
|
|
1581
|
+
callbackFunc = jest.fn(function (newValue) {
|
|
1582
|
+
var result = new Promise(function (resolve) {
|
|
1583
|
+
return setTimeout(function () {
|
|
1584
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1585
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1586
|
+
}) : countries);
|
|
1587
|
+
}, 100);
|
|
1554
1588
|
});
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1589
|
+
return result;
|
|
1590
|
+
});
|
|
1591
|
+
onChange = jest.fn();
|
|
1592
|
+
_render48 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1593
|
+
label: "Autosuggest Countries",
|
|
1594
|
+
value: "Denm",
|
|
1595
|
+
onChange: onChange,
|
|
1596
|
+
suggestions: callbackFunc
|
|
1597
|
+
})), getByRole = _render48.getByRole, getByText = _render48.getByText, queryByRole = _render48.queryByRole;
|
|
1598
|
+
input = getByRole("combobox");
|
|
1599
|
+
expect(input.value).toBe("Denm");
|
|
1600
|
+
_context30.next = 7;
|
|
1601
|
+
return _userEvent["default"].click(getByText("Autosuggest Countries"));
|
|
1602
|
+
case 7:
|
|
1603
|
+
_context30.next = 9;
|
|
1604
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1605
|
+
return getByText("Searching...");
|
|
1606
|
+
});
|
|
1607
|
+
case 9:
|
|
1608
|
+
expect(getByText("Denmark")).toBeTruthy();
|
|
1609
|
+
_react2.fireEvent.focus(getByRole("option"));
|
|
1610
|
+
_context30.next = 13;
|
|
1611
|
+
return _userEvent["default"].click(getByText("Denmark"));
|
|
1612
|
+
case 13:
|
|
1613
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
1614
|
+
value: "Denmark"
|
|
1615
|
+
});
|
|
1616
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1617
|
+
case 15:
|
|
1618
|
+
case "end":
|
|
1619
|
+
return _context30.stop();
|
|
1572
1620
|
}
|
|
1573
|
-
},
|
|
1621
|
+
}, _callee30);
|
|
1574
1622
|
})));
|
|
1575
|
-
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1576
|
-
var callbackFunc, onChange,
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
}) : countries);
|
|
1588
|
-
}, 1000);
|
|
1589
|
-
});
|
|
1590
|
-
return result;
|
|
1591
|
-
});
|
|
1592
|
-
onChange = jest.fn();
|
|
1593
|
-
_render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1594
|
-
label: "Autosuggest Countries",
|
|
1595
|
-
onChange: onChange,
|
|
1596
|
-
suggestions: callbackFunc
|
|
1597
|
-
})), getByText = _render45.getByText, getByRole = _render45.getByRole, queryByRole = _render45.queryByRole;
|
|
1598
|
-
input = getByRole("combobox");
|
|
1599
|
-
|
|
1600
|
-
_react2.fireEvent.focus(input);
|
|
1601
|
-
|
|
1602
|
-
_userEvent["default"].type(input, "Example text");
|
|
1603
|
-
|
|
1604
|
-
_context22.next = 8;
|
|
1605
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1606
|
-
return getByText("Searching...");
|
|
1623
|
+
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee32() {
|
|
1624
|
+
var callbackFunc, onChange, _render49, getByText, getByRole, queryByRole, input;
|
|
1625
|
+
return _regenerator["default"].wrap(function _callee32$(_context32) {
|
|
1626
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
1627
|
+
case 0:
|
|
1628
|
+
callbackFunc = jest.fn(function (newValue) {
|
|
1629
|
+
var result = new Promise(function (resolve) {
|
|
1630
|
+
return setTimeout(function () {
|
|
1631
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1632
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1633
|
+
}) : countries);
|
|
1634
|
+
}, 100);
|
|
1607
1635
|
});
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1636
|
+
return result;
|
|
1637
|
+
});
|
|
1638
|
+
onChange = jest.fn();
|
|
1639
|
+
_render49 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1640
|
+
label: "Autosuggest Countries",
|
|
1641
|
+
onChange: onChange,
|
|
1642
|
+
suggestions: callbackFunc
|
|
1643
|
+
})), getByText = _render49.getByText, getByRole = _render49.getByRole, queryByRole = _render49.queryByRole;
|
|
1644
|
+
input = getByRole("combobox");
|
|
1645
|
+
_react2.fireEvent.focus(input);
|
|
1646
|
+
_context32.next = 7;
|
|
1647
|
+
return (0, _react2.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee31() {
|
|
1648
|
+
return _regenerator["default"].wrap(function _callee31$(_context31) {
|
|
1649
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
1650
|
+
case 0:
|
|
1651
|
+
_userEvent["default"].type(input, "Example text");
|
|
1652
|
+
case 1:
|
|
1653
|
+
case "end":
|
|
1654
|
+
return _context31.stop();
|
|
1655
|
+
}
|
|
1656
|
+
}, _callee31);
|
|
1657
|
+
})));
|
|
1658
|
+
case 7:
|
|
1659
|
+
_context32.next = 9;
|
|
1660
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1661
|
+
return getByText("Searching...");
|
|
1662
|
+
});
|
|
1663
|
+
case 9:
|
|
1664
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1665
|
+
case 10:
|
|
1666
|
+
case "end":
|
|
1667
|
+
return _context32.stop();
|
|
1616
1668
|
}
|
|
1617
|
-
},
|
|
1669
|
+
}, _callee32);
|
|
1618
1670
|
})));
|
|
1619
|
-
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1620
|
-
var callbackFunc, onChange,
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
}) : countries);
|
|
1632
|
-
}, 1000);
|
|
1633
|
-
});
|
|
1634
|
-
return result;
|
|
1635
|
-
});
|
|
1636
|
-
onChange = jest.fn();
|
|
1637
|
-
_render46 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1638
|
-
label: "Autosuggest Countries",
|
|
1639
|
-
onChange: onChange,
|
|
1640
|
-
suggestions: callbackFunc
|
|
1641
|
-
})), getByText = _render46.getByText, getByRole = _render46.getByRole, queryByRole = _render46.queryByRole;
|
|
1642
|
-
input = getByRole("combobox");
|
|
1643
|
-
|
|
1644
|
-
_react2.fireEvent.focus(input);
|
|
1645
|
-
|
|
1646
|
-
_userEvent["default"].type(input, "wrong");
|
|
1647
|
-
|
|
1648
|
-
_context23.next = 8;
|
|
1649
|
-
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1650
|
-
return getByText("Searching...");
|
|
1651
|
-
});
|
|
1652
|
-
|
|
1653
|
-
case 8:
|
|
1654
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1655
|
-
|
|
1656
|
-
_react2.fireEvent.focus(input);
|
|
1657
|
-
|
|
1658
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1659
|
-
|
|
1660
|
-
_react2.fireEvent.keyDown(input, {
|
|
1661
|
-
key: "ArrowUp",
|
|
1662
|
-
code: "ArrowUp",
|
|
1663
|
-
keyCode: 38,
|
|
1664
|
-
charCode: 38
|
|
1665
|
-
});
|
|
1666
|
-
|
|
1667
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1668
|
-
|
|
1669
|
-
_react2.fireEvent.keyDown(input, {
|
|
1670
|
-
key: "ArrowDown",
|
|
1671
|
-
code: "ArrowDown",
|
|
1672
|
-
keyCode: 40,
|
|
1673
|
-
charCode: 40
|
|
1671
|
+
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee33() {
|
|
1672
|
+
var callbackFunc, onChange, _render50, getByText, getByRole, queryByRole, input;
|
|
1673
|
+
return _regenerator["default"].wrap(function _callee33$(_context33) {
|
|
1674
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
1675
|
+
case 0:
|
|
1676
|
+
callbackFunc = jest.fn(function (newValue) {
|
|
1677
|
+
var result = new Promise(function (resolve) {
|
|
1678
|
+
return setTimeout(function () {
|
|
1679
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1680
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1681
|
+
}) : countries);
|
|
1682
|
+
}, 100);
|
|
1674
1683
|
});
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1684
|
+
return result;
|
|
1685
|
+
});
|
|
1686
|
+
onChange = jest.fn();
|
|
1687
|
+
_render50 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1688
|
+
label: "Autosuggest Countries",
|
|
1689
|
+
onChange: onChange,
|
|
1690
|
+
suggestions: callbackFunc
|
|
1691
|
+
})), getByText = _render50.getByText, getByRole = _render50.getByRole, queryByRole = _render50.queryByRole;
|
|
1692
|
+
input = getByRole("combobox");
|
|
1693
|
+
_react2.fireEvent.focus(input);
|
|
1694
|
+
_userEvent["default"].type(input, "wrong");
|
|
1695
|
+
_context33.next = 8;
|
|
1696
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1697
|
+
return getByText("Searching...");
|
|
1698
|
+
});
|
|
1699
|
+
case 8:
|
|
1700
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1701
|
+
_react2.fireEvent.focus(input);
|
|
1702
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1703
|
+
_react2.fireEvent.keyDown(input, {
|
|
1704
|
+
key: "ArrowUp",
|
|
1705
|
+
code: "ArrowUp",
|
|
1706
|
+
keyCode: 38,
|
|
1707
|
+
charCode: 38
|
|
1708
|
+
});
|
|
1709
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1710
|
+
_react2.fireEvent.keyDown(input, {
|
|
1711
|
+
key: "ArrowDown",
|
|
1712
|
+
code: "ArrowDown",
|
|
1713
|
+
keyCode: 40,
|
|
1714
|
+
charCode: 40
|
|
1715
|
+
});
|
|
1716
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1717
|
+
case 15:
|
|
1718
|
+
case "end":
|
|
1719
|
+
return _context33.stop();
|
|
1682
1720
|
}
|
|
1683
|
-
},
|
|
1721
|
+
}, _callee33);
|
|
1684
1722
|
})));
|
|
1685
|
-
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1686
|
-
var errorCallbackFunc, onChange,
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
reject("err");
|
|
1696
|
-
}, 1000);
|
|
1697
|
-
});
|
|
1698
|
-
return result;
|
|
1723
|
+
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee34() {
|
|
1724
|
+
var errorCallbackFunc, onChange, _render51, getByRole, getByText, input;
|
|
1725
|
+
return _regenerator["default"].wrap(function _callee34$(_context34) {
|
|
1726
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
1727
|
+
case 0:
|
|
1728
|
+
errorCallbackFunc = jest.fn(function () {
|
|
1729
|
+
var result = new Promise(function (resolve, reject) {
|
|
1730
|
+
return setTimeout(function () {
|
|
1731
|
+
reject("err");
|
|
1732
|
+
}, 100);
|
|
1699
1733
|
});
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
case "end":
|
|
1720
|
-
return _context24.stop();
|
|
1721
|
-
}
|
|
1734
|
+
return result;
|
|
1735
|
+
});
|
|
1736
|
+
onChange = jest.fn();
|
|
1737
|
+
_render51 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1738
|
+
label: "Autosuggest Countries",
|
|
1739
|
+
onChange: onChange,
|
|
1740
|
+
suggestions: errorCallbackFunc
|
|
1741
|
+
})), getByRole = _render51.getByRole, getByText = _render51.getByText;
|
|
1742
|
+
input = getByRole("combobox");
|
|
1743
|
+
_react2.fireEvent.focus(input);
|
|
1744
|
+
_context34.next = 7;
|
|
1745
|
+
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1746
|
+
return getByText("Searching...");
|
|
1747
|
+
});
|
|
1748
|
+
case 7:
|
|
1749
|
+
expect(getByText("Error fetching data")).toBeTruthy();
|
|
1750
|
+
case 8:
|
|
1751
|
+
case "end":
|
|
1752
|
+
return _context34.stop();
|
|
1722
1753
|
}
|
|
1723
|
-
},
|
|
1754
|
+
}, _callee34);
|
|
1724
1755
|
})));
|
|
1725
1756
|
});
|