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