@dxc-technology/halstack-react 7.0.0 → 9.0.0
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/HalstackContext.js +98 -50
- package/accordion/Accordion.js +7 -13
- package/accordion/Accordion.stories.tsx +102 -13
- package/alert/Alert.stories.tsx +28 -0
- package/box/Box.js +1 -3
- package/box/Box.stories.tsx +15 -0
- package/button/Button.js +11 -13
- package/button/Button.stories.tsx +150 -8
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +16 -15
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/common/variables.js +286 -290
- 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 +211 -159
- package/dialog/Dialog.test.js +301 -2
- package/dropdown/Dropdown.js +35 -35
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +17 -22
- package/dropdown/DropdownMenu.js +8 -18
- package/dropdown/DropdownMenuItem.js +4 -15
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +169 -222
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +12 -53
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +17 -0
- package/footer/Footer.stories.tsx +91 -0
- package/header/Header.js +18 -20
- package/header/Header.stories.tsx +149 -6
- package/link/Link.js +1 -1
- package/link/Link.stories.tsx +60 -0
- package/main.d.ts +1 -1
- package/main.js +1 -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}/Tab.js +35 -15
- package/number-input/NumberInput.test.js +5 -6
- package/package.json +7 -12
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +5 -11
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +17 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -105
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +40 -63
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +43 -24
- package/select/Select.stories.tsx +494 -150
- package/select/Select.test.js +17 -22
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.js +8 -10
- package/sidenav/Sidenav.stories.tsx +148 -46
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +9 -8
- package/slider/Slider.stories.tsx +57 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +5 -4
- package/switch/Switch.stories.tsx +33 -0
- package/switch/types.d.ts +6 -1
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +3 -5
- package/tabs/Tabs.js +3 -3
- package/tabs/Tabs.stories.tsx +45 -5
- package/tag/Tag.stories.tsx +14 -1
- package/text-input/Suggestion.js +32 -5
- package/text-input/TextInput.js +7 -11
- package/text-input/TextInput.stories.tsx +92 -4
- package/text-input/TextInput.test.js +587 -634
- package/textarea/Textarea.stories.jsx +60 -1
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.stories.tsx +20 -0
- package/common/RequiredComponent.js +0 -32
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.test.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
|
@@ -57,6 +57,7 @@ global.DOMRect = {
|
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
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 = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
|
|
60
61
|
describe("TextInput component tests", function () {
|
|
61
62
|
test("Renders with correct error aria attributes", function () {
|
|
62
63
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
@@ -401,27 +402,16 @@ describe("TextInput component tests", function () {
|
|
|
401
402
|
value: "Blur test"
|
|
402
403
|
});
|
|
403
404
|
});
|
|
404
|
-
test("Clear action tooltip is correct",
|
|
405
|
-
var _render10,
|
|
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;
|
|
406
412
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
switch (_context.prev = _context.next) {
|
|
410
|
-
case 0:
|
|
411
|
-
_render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
412
|
-
label: "Input label",
|
|
413
|
-
value: "Text",
|
|
414
|
-
clearable: true
|
|
415
|
-
})), getByTitle = _render10.getByTitle;
|
|
416
|
-
expect(getByTitle("Clear field")).toBeTruthy();
|
|
417
|
-
|
|
418
|
-
case 2:
|
|
419
|
-
case "end":
|
|
420
|
-
return _context.stop();
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}, _callee);
|
|
424
|
-
})));
|
|
413
|
+
expect(getByTitle("Clear field")).toBeTruthy();
|
|
414
|
+
});
|
|
425
415
|
test("Clear action onClick cleans the input", function () {
|
|
426
416
|
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
427
417
|
label: "Input label",
|
|
@@ -691,113 +681,88 @@ describe("TextInput component tests", function () {
|
|
|
691
681
|
});
|
|
692
682
|
});
|
|
693
683
|
describe("TextInput component synchronous autosuggest tests", function () {
|
|
694
|
-
test("Autosuggest is displayed when the input gains focus",
|
|
695
|
-
var onChange
|
|
684
|
+
test("Autosuggest is displayed when the input gains focus", function () {
|
|
685
|
+
var onChange = jest.fn();
|
|
696
686
|
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
suggestions: countries,
|
|
705
|
-
onChange: onChange
|
|
706
|
-
})), getByRole = _render21.getByRole, getByText = _render21.getByText;
|
|
707
|
-
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;
|
|
708
694
|
|
|
709
|
-
|
|
695
|
+
var input = getByRole("combobox");
|
|
710
696
|
|
|
711
|
-
|
|
712
|
-
expect(list).toBeTruthy();
|
|
713
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
714
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
715
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
716
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
697
|
+
_react2.fireEvent.focus(input);
|
|
717
698
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
})
|
|
725
|
-
test("Autosuggest is displayed when the user clicks the input",
|
|
726
|
-
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();
|
|
727
708
|
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
suggestions: countries,
|
|
736
|
-
onChange: onChange
|
|
737
|
-
})), getByRole = _render22.getByRole, getByText = _render22.getByText;
|
|
738
|
-
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;
|
|
739
716
|
|
|
740
|
-
|
|
717
|
+
var input = getByRole("combobox");
|
|
741
718
|
|
|
742
|
-
|
|
743
|
-
expect(list).toBeTruthy();
|
|
744
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
745
|
-
expect(getByText("Albania")).toBeTruthy();
|
|
746
|
-
expect(getByText("Algeria")).toBeTruthy();
|
|
747
|
-
expect(getByText("Andorra")).toBeTruthy();
|
|
719
|
+
_react2.fireEvent.focus(input);
|
|
748
720
|
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
})
|
|
756
|
-
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)",
|
|
757
|
-
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();
|
|
758
730
|
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
})), getByRole = _render23.getByRole, queryByRole = _render23.queryByRole, getByText = _render23.getByText, getAllByText = _render23.getAllByText;
|
|
769
|
-
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;
|
|
770
740
|
|
|
771
|
-
|
|
741
|
+
var input = getByRole("combobox");
|
|
772
742
|
|
|
773
|
-
|
|
774
|
-
expect(list).toBeTruthy();
|
|
743
|
+
_react2.fireEvent.focus(input);
|
|
775
744
|
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
code: "Esc",
|
|
779
|
-
keyCode: 27,
|
|
780
|
-
charCode: 27
|
|
781
|
-
});
|
|
745
|
+
var list = getByRole("listbox");
|
|
746
|
+
expect(list).toBeTruthy();
|
|
782
747
|
|
|
783
|
-
|
|
748
|
+
_react2.fireEvent.keyDown(input, {
|
|
749
|
+
key: "Esc",
|
|
750
|
+
code: "Esc",
|
|
751
|
+
keyCode: 27,
|
|
752
|
+
charCode: 27
|
|
753
|
+
});
|
|
784
754
|
|
|
785
|
-
|
|
755
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
786
756
|
|
|
787
|
-
|
|
788
|
-
expect(getAllByText("B").length).toBe(4);
|
|
789
|
-
expect(getByText("ahamas")).toBeTruthy();
|
|
790
|
-
expect(getByText("ahrain")).toBeTruthy();
|
|
791
|
-
expect(getByText("angladesh")).toBeTruthy();
|
|
792
|
-
expect(getByText("arbados")).toBeTruthy();
|
|
757
|
+
_userEvent["default"].type(input, "B");
|
|
793
758
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
})
|
|
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
|
+
});
|
|
801
766
|
test("Autosuggest displays filtered when the input has a default value", function () {
|
|
802
767
|
var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
803
768
|
label: "Uncontrolled suggestions filtered by default",
|
|
@@ -821,517 +786,511 @@ describe("TextInput component synchronous autosuggest tests", function () {
|
|
|
821
786
|
expect(getByText("3")).toBeTruthy();
|
|
822
787
|
expect(getByText("4")).toBeTruthy();
|
|
823
788
|
});
|
|
824
|
-
test("Autosuggest is not displayed when prop suggestions is an empty array",
|
|
825
|
-
var onChange
|
|
789
|
+
test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
|
|
790
|
+
var onChange = jest.fn();
|
|
826
791
|
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
label: "Autocomplete Countries",
|
|
834
|
-
suggestions: [],
|
|
835
|
-
onChange: onChange
|
|
836
|
-
})), queryByRole = _render25.queryByRole;
|
|
837
|
-
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;
|
|
838
798
|
|
|
839
|
-
|
|
799
|
+
var input = queryByRole("textbox");
|
|
840
800
|
|
|
841
|
-
|
|
801
|
+
_react2.fireEvent.focus(input);
|
|
842
802
|
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
}
|
|
848
|
-
}, _callee5);
|
|
849
|
-
})));
|
|
850
|
-
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() {
|
|
851
|
-
var onChange, _render26, 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();
|
|
852
807
|
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
onChange: onChange
|
|
862
|
-
})), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText;
|
|
863
|
-
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;
|
|
864
816
|
|
|
865
|
-
|
|
817
|
+
var input = getByRole("combobox");
|
|
866
818
|
|
|
867
|
-
|
|
868
|
-
expect(list).toBeTruthy();
|
|
869
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
819
|
+
_react2.fireEvent.focus(input);
|
|
870
820
|
|
|
871
|
-
|
|
821
|
+
var list = getByRole("listbox");
|
|
822
|
+
expect(list).toBeTruthy();
|
|
823
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
872
824
|
|
|
873
|
-
|
|
825
|
+
_userEvent["default"].type(input, "x");
|
|
874
826
|
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
}
|
|
880
|
-
}, _callee6);
|
|
881
|
-
})));
|
|
882
|
-
test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
883
|
-
var onChange, _render27, 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();
|
|
884
831
|
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
onChange: onChange
|
|
894
|
-
})), getByRole = _render27.getByRole, queryByRole = _render27.queryByRole, getByText = _render27.getByText;
|
|
895
|
-
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;
|
|
896
840
|
|
|
897
|
-
|
|
841
|
+
var input = getByRole("combobox");
|
|
898
842
|
|
|
899
|
-
|
|
900
|
-
expect(list).toBeTruthy();
|
|
901
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
843
|
+
_react2.fireEvent.focus(input);
|
|
902
844
|
|
|
903
|
-
|
|
845
|
+
var list = getByRole("listbox");
|
|
846
|
+
expect(list).toBeTruthy();
|
|
847
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
904
848
|
|
|
905
|
-
|
|
849
|
+
_userEvent["default"].type(input, "x");
|
|
906
850
|
|
|
907
|
-
|
|
851
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
908
852
|
|
|
909
|
-
|
|
853
|
+
_react2.fireEvent.focus(input);
|
|
910
854
|
|
|
911
|
-
|
|
912
|
-
key: "ArrowUp",
|
|
913
|
-
code: "ArrowUp",
|
|
914
|
-
keyCode: 38,
|
|
915
|
-
charCode: 38
|
|
916
|
-
});
|
|
855
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
917
856
|
|
|
918
|
-
|
|
857
|
+
_react2.fireEvent.keyDown(input, {
|
|
858
|
+
key: "ArrowUp",
|
|
859
|
+
code: "ArrowUp",
|
|
860
|
+
keyCode: 38,
|
|
861
|
+
charCode: 38
|
|
862
|
+
});
|
|
919
863
|
|
|
920
|
-
|
|
921
|
-
key: "ArrowDown",
|
|
922
|
-
code: "ArrowDown",
|
|
923
|
-
keyCode: 40,
|
|
924
|
-
charCode: 40
|
|
925
|
-
});
|
|
864
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
926
865
|
|
|
927
|
-
|
|
866
|
+
_react2.fireEvent.keyDown(input, {
|
|
867
|
+
key: "ArrowDown",
|
|
868
|
+
code: "ArrowDown",
|
|
869
|
+
keyCode: 40,
|
|
870
|
+
charCode: 40
|
|
871
|
+
});
|
|
928
872
|
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
}
|
|
934
|
-
}, _callee7);
|
|
935
|
-
})));
|
|
936
|
-
test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
937
|
-
var onChange, _render28, getByRole, getByText, queryByRole, input;
|
|
873
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
874
|
+
});
|
|
875
|
+
test("Autosuggest uncontrolled - Suggestion selected by click", function () {
|
|
876
|
+
var onChange = jest.fn();
|
|
938
877
|
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
onChange: onChange
|
|
948
|
-
})), getByRole = _render28.getByRole, getByText = _render28.getByText, queryByRole = _render28.queryByRole;
|
|
949
|
-
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;
|
|
950
886
|
|
|
951
|
-
|
|
887
|
+
var input = getByRole("combobox");
|
|
952
888
|
|
|
953
|
-
|
|
889
|
+
_react2.fireEvent.focus(input);
|
|
954
890
|
|
|
955
|
-
|
|
956
|
-
expect(getByText("Alba")).toBeTruthy();
|
|
957
|
-
expect(getByText("nia")).toBeTruthy();
|
|
891
|
+
_userEvent["default"].type(input, "Alba");
|
|
958
892
|
|
|
959
|
-
|
|
893
|
+
expect(onChange).toHaveBeenCalled();
|
|
894
|
+
expect(getByText("Alba")).toBeTruthy();
|
|
895
|
+
expect(getByText("nia")).toBeTruthy();
|
|
960
896
|
|
|
961
|
-
|
|
962
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
897
|
+
_userEvent["default"].click(getByRole("option"));
|
|
963
898
|
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
}, _callee8);
|
|
970
|
-
})));
|
|
971
|
-
test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
972
|
-
var onChange, _render29, 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();
|
|
973
904
|
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
onChange: onChange
|
|
984
|
-
})), getByRole = _render29.getByRole, getByText = _render29.getByText, queryByRole = _render29.queryByRole;
|
|
985
|
-
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;
|
|
986
914
|
|
|
987
|
-
|
|
915
|
+
var input = getByRole("combobox");
|
|
988
916
|
|
|
989
|
-
|
|
990
|
-
expect(getByText("Andor")).toBeTruthy();
|
|
991
|
-
expect(getByText("ra")).toBeTruthy();
|
|
917
|
+
_userEvent["default"].click(getByText("Autocomplete Countries"));
|
|
992
918
|
|
|
993
|
-
|
|
919
|
+
expect(input.value).toBe("Andor");
|
|
920
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
921
|
+
expect(getByText("ra")).toBeTruthy();
|
|
994
922
|
|
|
995
|
-
|
|
996
|
-
value: "Andorra"
|
|
997
|
-
});
|
|
998
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
923
|
+
_userEvent["default"].click(getByRole("option"));
|
|
999
924
|
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
var onChange, onBlur, _render30, 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();
|
|
1009
933
|
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
onChange: onChange,
|
|
1020
|
-
onBlur: onBlur,
|
|
1021
|
-
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
1022
|
-
})), getByRole = _render30.getByRole, getByText = _render30.getByText;
|
|
1023
|
-
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;
|
|
1024
943
|
|
|
1025
|
-
|
|
944
|
+
var input = getByRole("combobox");
|
|
1026
945
|
|
|
1027
|
-
|
|
946
|
+
_react2.fireEvent.focus(input);
|
|
1028
947
|
|
|
1029
|
-
|
|
1030
|
-
expect(getByText("ra")).toBeTruthy();
|
|
948
|
+
_userEvent["default"].type(input, "Andor");
|
|
1031
949
|
|
|
1032
|
-
|
|
950
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
951
|
+
expect(getByText("ra")).toBeTruthy();
|
|
1033
952
|
|
|
1034
|
-
|
|
1035
|
-
value: "Andorra",
|
|
1036
|
-
error: "Please match the format requested."
|
|
1037
|
-
});
|
|
953
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1038
954
|
|
|
1039
|
-
|
|
955
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
956
|
+
value: "Andorra",
|
|
957
|
+
error: "Please match the format requested."
|
|
958
|
+
});
|
|
1040
959
|
|
|
1041
|
-
|
|
1042
|
-
value: "Andorra",
|
|
1043
|
-
error: "Please match the format requested."
|
|
1044
|
-
});
|
|
960
|
+
_react2.fireEvent.blur(input);
|
|
1045
961
|
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
var onChange, onBlur, _render31, 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();
|
|
1055
970
|
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
onBlur: onBlur,
|
|
1067
|
-
minLength: 5,
|
|
1068
|
-
maxLength: 10
|
|
1069
|
-
})), getByText = _render31.getByText, getByRole = _render31.getByRole;
|
|
1070
|
-
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;
|
|
1071
981
|
|
|
1072
|
-
|
|
982
|
+
var input = getByRole("combobox");
|
|
1073
983
|
|
|
1074
|
-
|
|
984
|
+
_react2.fireEvent.focus(input);
|
|
1075
985
|
|
|
1076
|
-
|
|
1077
|
-
expect(getByText("d")).toBeTruthy();
|
|
986
|
+
_userEvent["default"].type(input, "Cha");
|
|
1078
987
|
|
|
1079
|
-
|
|
988
|
+
expect(getByText("Cha")).toBeTruthy();
|
|
989
|
+
expect(getByText("d")).toBeTruthy();
|
|
1080
990
|
|
|
1081
|
-
|
|
1082
|
-
value: "Cha",
|
|
1083
|
-
error: "Min length 5, max length 10."
|
|
1084
|
-
});
|
|
991
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1085
992
|
|
|
1086
|
-
|
|
993
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
994
|
+
value: "Cha",
|
|
995
|
+
error: "Min length 5, max length 10."
|
|
996
|
+
});
|
|
1087
997
|
|
|
1088
|
-
|
|
1089
|
-
value: "Chad",
|
|
1090
|
-
error: "Min length 5, max length 10."
|
|
1091
|
-
});
|
|
998
|
+
_react2.fireEvent.blur(input);
|
|
1092
999
|
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
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() {
|
|
1101
|
-
var onChange, _render32, 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();
|
|
1102
1007
|
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
suggestions: countries,
|
|
1111
|
-
onChange: onChange
|
|
1112
|
-
})), getByRole = _render32.getByRole, queryByRole = _render32.queryByRole;
|
|
1113
|
-
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;
|
|
1114
1015
|
|
|
1115
|
-
|
|
1116
|
-
key: "ArrowDown",
|
|
1117
|
-
code: "ArrowDown",
|
|
1118
|
-
keyCode: 40,
|
|
1119
|
-
charCode: 40
|
|
1120
|
-
});
|
|
1016
|
+
var input = getByRole("combobox");
|
|
1121
1017
|
|
|
1122
|
-
|
|
1123
|
-
|
|
1018
|
+
_react2.fireEvent.keyDown(input, {
|
|
1019
|
+
key: "ArrowDown",
|
|
1020
|
+
code: "ArrowDown",
|
|
1021
|
+
keyCode: 40,
|
|
1022
|
+
charCode: 40
|
|
1023
|
+
});
|
|
1124
1024
|
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1025
|
+
var list = getByRole("listbox");
|
|
1026
|
+
expect(list).toBeTruthy();
|
|
1027
|
+
|
|
1028
|
+
_react2.fireEvent.keyDown(input, {
|
|
1029
|
+
key: "Enter",
|
|
1030
|
+
code: "Enter",
|
|
1031
|
+
keyCode: 13,
|
|
1032
|
+
charCode: 13
|
|
1033
|
+
});
|
|
1034
|
+
|
|
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();
|
|
1040
|
+
|
|
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;
|
|
1048
|
+
|
|
1049
|
+
var input = getByRole("combobox");
|
|
1050
|
+
|
|
1051
|
+
_react2.fireEvent.keyDown(input, {
|
|
1052
|
+
key: "ArrowUp",
|
|
1053
|
+
code: "ArrowUp",
|
|
1054
|
+
keyCode: 38,
|
|
1055
|
+
charCode: 38
|
|
1056
|
+
});
|
|
1057
|
+
|
|
1058
|
+
var list = getByRole("listbox");
|
|
1059
|
+
expect(list).toBeTruthy();
|
|
1060
|
+
|
|
1061
|
+
_react2.fireEvent.keyDown(input, {
|
|
1062
|
+
key: "Enter",
|
|
1063
|
+
code: "Enter",
|
|
1064
|
+
keyCode: 13,
|
|
1065
|
+
charCode: 13
|
|
1066
|
+
});
|
|
1067
|
+
|
|
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();
|
|
1073
|
+
|
|
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;
|
|
1081
|
+
|
|
1082
|
+
var input = getByRole("combobox");
|
|
1083
|
+
|
|
1084
|
+
_react2.fireEvent.focus(input);
|
|
1085
|
+
|
|
1086
|
+
_userEvent["default"].type(input, "Bangla");
|
|
1087
|
+
|
|
1088
|
+
var list = getByRole("listbox");
|
|
1089
|
+
expect(list).toBeTruthy();
|
|
1090
|
+
|
|
1091
|
+
_react2.fireEvent.keyDown(input, {
|
|
1092
|
+
key: "Esc",
|
|
1093
|
+
code: "Esc",
|
|
1094
|
+
keyCode: 27,
|
|
1095
|
+
charCode: 27
|
|
1096
|
+
});
|
|
1097
|
+
|
|
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();
|
|
1103
|
+
|
|
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;
|
|
1111
|
+
|
|
1112
|
+
var input = getByRole("combobox");
|
|
1113
|
+
|
|
1114
|
+
_react2.fireEvent.focus(input);
|
|
1115
|
+
|
|
1116
|
+
var list = getByRole("listbox");
|
|
1117
|
+
expect(list).toBeTruthy();
|
|
1118
|
+
|
|
1119
|
+
_react2.fireEvent.keyDown(input, {
|
|
1120
|
+
key: "Enter",
|
|
1121
|
+
code: "Enter",
|
|
1122
|
+
keyCode: 27,
|
|
1123
|
+
charCode: 27
|
|
1124
|
+
});
|
|
1125
|
+
|
|
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;
|
|
1131
1139
|
|
|
1132
|
-
|
|
1133
|
-
expect(queryByRole("list")).toBeFalsy();
|
|
1140
|
+
var input = getByRole("combobox");
|
|
1134
1141
|
|
|
1135
|
-
|
|
1136
|
-
case "end":
|
|
1137
|
-
return _context12.stop();
|
|
1138
|
-
}
|
|
1139
|
-
}
|
|
1140
|
-
}, _callee12);
|
|
1141
|
-
})));
|
|
1142
|
-
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() {
|
|
1143
|
-
var onChange, _render33, getByRole, queryByRole, input, list;
|
|
1142
|
+
_react2.fireEvent.focus(input);
|
|
1144
1143
|
|
|
1145
|
-
|
|
1146
|
-
while (1) {
|
|
1147
|
-
switch (_context13.prev = _context13.next) {
|
|
1148
|
-
case 0:
|
|
1149
|
-
onChange = jest.fn();
|
|
1150
|
-
_render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1151
|
-
label: "Autocomplete Countries",
|
|
1152
|
-
suggestions: countries,
|
|
1153
|
-
onChange: onChange
|
|
1154
|
-
})), getByRole = _render33.getByRole, queryByRole = _render33.queryByRole;
|
|
1155
|
-
input = getByRole("combobox");
|
|
1144
|
+
_userEvent["default"].type(input, "Ba");
|
|
1156
1145
|
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1146
|
+
_react2.fireEvent.keyDown(input, {
|
|
1147
|
+
key: "ArrowUp",
|
|
1148
|
+
code: "ArrowUp",
|
|
1149
|
+
keyCode: 38,
|
|
1150
|
+
charCode: 38
|
|
1151
|
+
});
|
|
1163
1152
|
|
|
1164
|
-
|
|
1165
|
-
|
|
1153
|
+
_react2.fireEvent.keyDown(input, {
|
|
1154
|
+
key: "ArrowUp",
|
|
1155
|
+
code: "ArrowUpp",
|
|
1156
|
+
keyCode: 38,
|
|
1157
|
+
charCode: 38
|
|
1158
|
+
});
|
|
1166
1159
|
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1160
|
+
_react2.fireEvent.keyDown(input, {
|
|
1161
|
+
key: "ArrowDown",
|
|
1162
|
+
code: "ArrowDown",
|
|
1163
|
+
keyCode: 40,
|
|
1164
|
+
charCode: 40
|
|
1165
|
+
});
|
|
1173
1166
|
|
|
1174
|
-
|
|
1175
|
-
|
|
1167
|
+
_react2.fireEvent.keyDown(input, {
|
|
1168
|
+
key: "Enter",
|
|
1169
|
+
code: "Enter",
|
|
1170
|
+
keyCode: 13,
|
|
1171
|
+
charCode: 13
|
|
1172
|
+
});
|
|
1176
1173
|
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
return _context13.stop();
|
|
1180
|
-
}
|
|
1181
|
-
}
|
|
1182
|
-
}, _callee13);
|
|
1183
|
-
})));
|
|
1184
|
-
test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
|
|
1185
|
-
var onChange, _render34, getByRole, queryByRole, input, list;
|
|
1174
|
+
expect(input.value).toBe("Barbados");
|
|
1175
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1186
1176
|
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
label: "Autocomplete Countries",
|
|
1194
|
-
suggestions: countries,
|
|
1195
|
-
onChange: onChange
|
|
1196
|
-
})), getByRole = _render34.getByRole, queryByRole = _render34.queryByRole;
|
|
1197
|
-
input = getByRole("combobox");
|
|
1177
|
+
_react2.fireEvent.keyDown(input, {
|
|
1178
|
+
key: "Esc",
|
|
1179
|
+
code: "Esp",
|
|
1180
|
+
keyCode: 27,
|
|
1181
|
+
charCode: 27
|
|
1182
|
+
});
|
|
1198
1183
|
|
|
1199
|
-
|
|
1184
|
+
expect(input.value).toBe("");
|
|
1185
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1186
|
+
});
|
|
1187
|
+
test("Autosuggest escapes special characters", function () {
|
|
1188
|
+
var onChange = jest.fn();
|
|
1200
1189
|
|
|
1201
|
-
|
|
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
|
+
getByText = _render37.getByText,
|
|
1197
|
+
getByRole = _render37.getByRole;
|
|
1202
1198
|
|
|
1203
|
-
|
|
1204
|
-
expect(list).toBeTruthy();
|
|
1199
|
+
var input = getByRole("combobox");
|
|
1205
1200
|
|
|
1206
|
-
|
|
1207
|
-
key: "Esc",
|
|
1208
|
-
code: "Esc",
|
|
1209
|
-
keyCode: 27,
|
|
1210
|
-
charCode: 27
|
|
1211
|
-
});
|
|
1201
|
+
_react2.fireEvent.focus(input);
|
|
1212
1202
|
|
|
1213
|
-
|
|
1214
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1203
|
+
var list = getByRole("listbox");
|
|
1215
1204
|
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
}
|
|
1205
|
+
_react2.fireEvent.change(input, {
|
|
1206
|
+
target: {
|
|
1207
|
+
value: "/"
|
|
1220
1208
|
}
|
|
1221
|
-
}
|
|
1222
|
-
})));
|
|
1223
|
-
test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
|
|
1224
|
-
var onChange, _render35, getByRole, queryByRole, input, list;
|
|
1209
|
+
});
|
|
1225
1210
|
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
switch (_context15.prev = _context15.next) {
|
|
1229
|
-
case 0:
|
|
1230
|
-
onChange = jest.fn();
|
|
1231
|
-
_render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1232
|
-
label: "Autocomplete Countries",
|
|
1233
|
-
suggestions: countries,
|
|
1234
|
-
onChange: onChange
|
|
1235
|
-
})), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
|
|
1236
|
-
input = getByRole("combobox");
|
|
1211
|
+
expect(list).toBeTruthy();
|
|
1212
|
+
expect(getAllByText("/").length).toBe(1);
|
|
1237
1213
|
|
|
1238
|
-
|
|
1214
|
+
_react2.fireEvent.change(input, {
|
|
1215
|
+
target: {
|
|
1216
|
+
value: "\\"
|
|
1217
|
+
}
|
|
1218
|
+
});
|
|
1239
1219
|
|
|
1240
|
-
|
|
1241
|
-
|
|
1220
|
+
expect(list).toBeTruthy();
|
|
1221
|
+
expect(getAllByText("\\").length).toBe(1);
|
|
1242
1222
|
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
});
|
|
1223
|
+
_react2.fireEvent.change(input, {
|
|
1224
|
+
target: {
|
|
1225
|
+
value: "*"
|
|
1226
|
+
}
|
|
1227
|
+
});
|
|
1249
1228
|
|
|
1250
|
-
|
|
1251
|
-
|
|
1229
|
+
expect(list).toBeTruthy();
|
|
1230
|
+
expect(getAllByText("*").length).toBe(2);
|
|
1252
1231
|
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
}
|
|
1232
|
+
_react2.fireEvent.change(input, {
|
|
1233
|
+
target: {
|
|
1234
|
+
value: "("
|
|
1257
1235
|
}
|
|
1258
|
-
}
|
|
1259
|
-
})));
|
|
1260
|
-
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() {
|
|
1261
|
-
var onChange, _render36, getByRole, queryByRole, input;
|
|
1262
|
-
|
|
1263
|
-
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
1264
|
-
while (1) {
|
|
1265
|
-
switch (_context16.prev = _context16.next) {
|
|
1266
|
-
case 0:
|
|
1267
|
-
onChange = jest.fn();
|
|
1268
|
-
_render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1269
|
-
label: "Autocomplete Countries",
|
|
1270
|
-
suggestions: countries,
|
|
1271
|
-
onChange: onChange
|
|
1272
|
-
})), getByRole = _render36.getByRole, queryByRole = _render36.queryByRole;
|
|
1273
|
-
input = getByRole("combobox");
|
|
1236
|
+
});
|
|
1274
1237
|
|
|
1275
|
-
|
|
1238
|
+
expect(list).toBeTruthy();
|
|
1239
|
+
expect(getAllByText("(").length).toBe(1);
|
|
1276
1240
|
|
|
1277
|
-
|
|
1241
|
+
_react2.fireEvent.change(input, {
|
|
1242
|
+
target: {
|
|
1243
|
+
value: ")"
|
|
1244
|
+
}
|
|
1245
|
+
});
|
|
1278
1246
|
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
code: "ArrowUp",
|
|
1282
|
-
keyCode: 38,
|
|
1283
|
-
charCode: 38
|
|
1284
|
-
});
|
|
1247
|
+
expect(list).toBeTruthy();
|
|
1248
|
+
expect(getAllByText(")").length).toBe(1);
|
|
1285
1249
|
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
});
|
|
1250
|
+
_react2.fireEvent.change(input, {
|
|
1251
|
+
target: {
|
|
1252
|
+
value: "["
|
|
1253
|
+
}
|
|
1254
|
+
});
|
|
1292
1255
|
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
code: "ArrowDown",
|
|
1296
|
-
keyCode: 40,
|
|
1297
|
-
charCode: 40
|
|
1298
|
-
});
|
|
1256
|
+
expect(list).toBeTruthy();
|
|
1257
|
+
expect(getAllByText("[").length).toBe(1);
|
|
1299
1258
|
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
});
|
|
1259
|
+
_react2.fireEvent.change(input, {
|
|
1260
|
+
target: {
|
|
1261
|
+
value: "]"
|
|
1262
|
+
}
|
|
1263
|
+
});
|
|
1306
1264
|
|
|
1307
|
-
|
|
1308
|
-
|
|
1265
|
+
expect(list).toBeTruthy();
|
|
1266
|
+
expect(getAllByText("]").length).toBe(1);
|
|
1309
1267
|
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
});
|
|
1268
|
+
_react2.fireEvent.change(input, {
|
|
1269
|
+
target: {
|
|
1270
|
+
value: "+"
|
|
1271
|
+
}
|
|
1272
|
+
});
|
|
1316
1273
|
|
|
1317
|
-
|
|
1318
|
-
|
|
1274
|
+
expect(list).toBeTruthy();
|
|
1275
|
+
expect(getAllByText("+").length).toBe(1);
|
|
1319
1276
|
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
}
|
|
1277
|
+
_react2.fireEvent.change(input, {
|
|
1278
|
+
target: {
|
|
1279
|
+
value: "?"
|
|
1324
1280
|
}
|
|
1325
|
-
}
|
|
1326
|
-
|
|
1281
|
+
});
|
|
1282
|
+
|
|
1283
|
+
expect(list).toBeTruthy();
|
|
1284
|
+
expect(getAllByText("?").length).toBe(1);
|
|
1285
|
+
});
|
|
1327
1286
|
});
|
|
1328
1287
|
describe("TextInput component asynchronous autosuggest tests", function () {
|
|
1329
|
-
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1330
|
-
var callbackFunc, onChange,
|
|
1288
|
+
test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
1289
|
+
var callbackFunc, onChange, _render38, getByRole, getByText, input;
|
|
1331
1290
|
|
|
1332
|
-
return _regenerator["default"].wrap(function
|
|
1291
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
1333
1292
|
while (1) {
|
|
1334
|
-
switch (
|
|
1293
|
+
switch (_context.prev = _context.next) {
|
|
1335
1294
|
case 0:
|
|
1336
1295
|
callbackFunc = jest.fn(function (newValue) {
|
|
1337
1296
|
var result = new Promise(function (resolve) {
|
|
@@ -1344,17 +1303,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1344
1303
|
return result;
|
|
1345
1304
|
});
|
|
1346
1305
|
onChange = jest.fn();
|
|
1347
|
-
|
|
1306
|
+
_render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1348
1307
|
label: "Autosuggest Countries",
|
|
1349
1308
|
suggestions: callbackFunc,
|
|
1350
1309
|
onChange: onChange
|
|
1351
|
-
})), getByRole =
|
|
1310
|
+
})), getByRole = _render38.getByRole, getByText = _render38.getByText;
|
|
1352
1311
|
input = getByRole("combobox");
|
|
1353
1312
|
|
|
1354
1313
|
_react2.fireEvent.focus(input);
|
|
1355
1314
|
|
|
1356
1315
|
expect(getByRole("listbox")).toBeTruthy();
|
|
1357
|
-
|
|
1316
|
+
_context.next = 8;
|
|
1358
1317
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1359
1318
|
return getByText("Searching...");
|
|
1360
1319
|
});
|
|
@@ -1367,7 +1326,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1367
1326
|
|
|
1368
1327
|
_userEvent["default"].type(input, "Ab");
|
|
1369
1328
|
|
|
1370
|
-
|
|
1329
|
+
_context.next = 15;
|
|
1371
1330
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1372
1331
|
return getByText("Searching...");
|
|
1373
1332
|
});
|
|
@@ -1393,66 +1352,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1393
1352
|
|
|
1394
1353
|
case 19:
|
|
1395
1354
|
case "end":
|
|
1396
|
-
return
|
|
1355
|
+
return _context.stop();
|
|
1397
1356
|
}
|
|
1398
1357
|
}
|
|
1399
|
-
},
|
|
1358
|
+
}, _callee);
|
|
1400
1359
|
})));
|
|
1401
|
-
test("Autosuggest Esc key works while 'Searching...' message is shown",
|
|
1402
|
-
var callbackFunc
|
|
1360
|
+
test("Autosuggest Esc key works while 'Searching...' message is shown", function () {
|
|
1361
|
+
var callbackFunc = jest.fn(function (newValue) {
|
|
1362
|
+
var result = new Promise(function (resolve) {
|
|
1363
|
+
return setTimeout(function () {
|
|
1364
|
+
resolve(newValue ? countries.filter(function (option) {
|
|
1365
|
+
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1366
|
+
}) : countries);
|
|
1367
|
+
}, 100);
|
|
1368
|
+
});
|
|
1369
|
+
return result;
|
|
1370
|
+
});
|
|
1371
|
+
var onChange = jest.fn();
|
|
1403
1372
|
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
return option.toUpperCase().includes(newValue.toUpperCase());
|
|
1413
|
-
}) : countries);
|
|
1414
|
-
}, 100);
|
|
1415
|
-
});
|
|
1416
|
-
return result;
|
|
1417
|
-
});
|
|
1418
|
-
onChange = jest.fn();
|
|
1419
|
-
_render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1420
|
-
label: "Autosuggest Countries",
|
|
1421
|
-
suggestions: callbackFunc,
|
|
1422
|
-
onChange: onChange
|
|
1423
|
-
})), getByRole = _render38.getByRole, queryByText = _render38.queryByText, queryByRole = _render38.queryByRole;
|
|
1424
|
-
input = getByRole("combobox");
|
|
1373
|
+
var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1374
|
+
label: "Autosuggest Countries",
|
|
1375
|
+
suggestions: callbackFunc,
|
|
1376
|
+
onChange: onChange
|
|
1377
|
+
})),
|
|
1378
|
+
getByRole = _render39.getByRole,
|
|
1379
|
+
queryByText = _render39.queryByText,
|
|
1380
|
+
queryByRole = _render39.queryByRole;
|
|
1425
1381
|
|
|
1426
|
-
|
|
1382
|
+
var input = getByRole("combobox");
|
|
1427
1383
|
|
|
1428
|
-
|
|
1384
|
+
_react2.fireEvent.focus(input);
|
|
1429
1385
|
|
|
1430
|
-
|
|
1386
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1431
1387
|
|
|
1432
|
-
|
|
1433
|
-
key: "Esc",
|
|
1434
|
-
code: "Esc",
|
|
1435
|
-
keyCode: 27,
|
|
1436
|
-
charCode: 27
|
|
1437
|
-
});
|
|
1388
|
+
_userEvent["default"].type(input, "Ab");
|
|
1438
1389
|
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1390
|
+
_react2.fireEvent.keyDown(input, {
|
|
1391
|
+
key: "Esc",
|
|
1392
|
+
code: "Esc",
|
|
1393
|
+
keyCode: 27,
|
|
1394
|
+
charCode: 27
|
|
1395
|
+
});
|
|
1442
1396
|
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
})));
|
|
1450
|
-
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
|
|
1451
|
-
var callbackFunc, onChange, _render39, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1397
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
1398
|
+
expect(queryByText("Searching...")).toBeFalsy();
|
|
1399
|
+
expect(input.value).toBe("");
|
|
1400
|
+
});
|
|
1401
|
+
test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
1402
|
+
var callbackFunc, onChange, _render40, getByRole, getByText, queryByText, queryByRole, input, list;
|
|
1452
1403
|
|
|
1453
|
-
return _regenerator["default"].wrap(function
|
|
1404
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
1454
1405
|
while (1) {
|
|
1455
|
-
switch (
|
|
1406
|
+
switch (_context2.prev = _context2.next) {
|
|
1456
1407
|
case 0:
|
|
1457
1408
|
callbackFunc = jest.fn(function (newValue) {
|
|
1458
1409
|
var result = new Promise(function (resolve) {
|
|
@@ -1465,11 +1416,11 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1465
1416
|
return result;
|
|
1466
1417
|
});
|
|
1467
1418
|
onChange = jest.fn();
|
|
1468
|
-
|
|
1419
|
+
_render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1469
1420
|
label: "Autosuggest Countries",
|
|
1470
1421
|
suggestions: callbackFunc,
|
|
1471
1422
|
onChange: onChange
|
|
1472
|
-
})), getByRole =
|
|
1423
|
+
})), getByRole = _render40.getByRole, getByText = _render40.getByText, queryByText = _render40.queryByText, queryByRole = _render40.queryByRole;
|
|
1473
1424
|
input = getByRole("combobox");
|
|
1474
1425
|
|
|
1475
1426
|
_react2.fireEvent.focus(input);
|
|
@@ -1498,7 +1449,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1498
1449
|
});
|
|
1499
1450
|
|
|
1500
1451
|
expect(list).toBeTruthy();
|
|
1501
|
-
|
|
1452
|
+
_context2.next = 16;
|
|
1502
1453
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1503
1454
|
return getByText("Searching...");
|
|
1504
1455
|
});
|
|
@@ -1511,17 +1462,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1511
1462
|
|
|
1512
1463
|
case 20:
|
|
1513
1464
|
case "end":
|
|
1514
|
-
return
|
|
1465
|
+
return _context2.stop();
|
|
1515
1466
|
}
|
|
1516
1467
|
}
|
|
1517
|
-
},
|
|
1468
|
+
}, _callee2);
|
|
1518
1469
|
})));
|
|
1519
|
-
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1520
|
-
var callbackFunc, onChange,
|
|
1470
|
+
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
1471
|
+
var callbackFunc, onChange, _render41, getByRole, getByText, input;
|
|
1521
1472
|
|
|
1522
|
-
return _regenerator["default"].wrap(function
|
|
1473
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
1523
1474
|
while (1) {
|
|
1524
|
-
switch (
|
|
1475
|
+
switch (_context3.prev = _context3.next) {
|
|
1525
1476
|
case 0:
|
|
1526
1477
|
callbackFunc = jest.fn(function (newValue) {
|
|
1527
1478
|
var result = new Promise(function (resolve) {
|
|
@@ -1534,18 +1485,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1534
1485
|
return result;
|
|
1535
1486
|
});
|
|
1536
1487
|
onChange = jest.fn();
|
|
1537
|
-
|
|
1488
|
+
_render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1538
1489
|
label: "Autosuggest Countries",
|
|
1539
1490
|
onChange: onChange,
|
|
1540
1491
|
suggestions: callbackFunc
|
|
1541
|
-
})), getByRole =
|
|
1492
|
+
})), getByRole = _render41.getByRole, getByText = _render41.getByText;
|
|
1542
1493
|
input = getByRole("combobox");
|
|
1543
1494
|
|
|
1544
1495
|
_react2.fireEvent.focus(input);
|
|
1545
1496
|
|
|
1546
1497
|
_userEvent["default"].type(input, "Den");
|
|
1547
1498
|
|
|
1548
|
-
|
|
1499
|
+
_context3.next = 8;
|
|
1549
1500
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1550
1501
|
return getByText("Searching...");
|
|
1551
1502
|
});
|
|
@@ -1562,17 +1513,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1562
1513
|
|
|
1563
1514
|
case 12:
|
|
1564
1515
|
case "end":
|
|
1565
|
-
return
|
|
1516
|
+
return _context3.stop();
|
|
1566
1517
|
}
|
|
1567
1518
|
}
|
|
1568
|
-
},
|
|
1519
|
+
}, _callee3);
|
|
1569
1520
|
})));
|
|
1570
|
-
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1571
|
-
var callbackFunc, onChange,
|
|
1521
|
+
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
1522
|
+
var callbackFunc, onChange, _render42, getByRole, getByText, queryByRole, input;
|
|
1572
1523
|
|
|
1573
|
-
return _regenerator["default"].wrap(function
|
|
1524
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
1574
1525
|
while (1) {
|
|
1575
|
-
switch (
|
|
1526
|
+
switch (_context4.prev = _context4.next) {
|
|
1576
1527
|
case 0:
|
|
1577
1528
|
callbackFunc = jest.fn(function (newValue) {
|
|
1578
1529
|
var result = new Promise(function (resolve) {
|
|
@@ -1585,45 +1536,47 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1585
1536
|
return result;
|
|
1586
1537
|
});
|
|
1587
1538
|
onChange = jest.fn();
|
|
1588
|
-
|
|
1539
|
+
_render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1589
1540
|
label: "Autosuggest Countries",
|
|
1590
1541
|
value: "Denm",
|
|
1591
1542
|
onChange: onChange,
|
|
1592
1543
|
suggestions: callbackFunc
|
|
1593
|
-
})), getByRole =
|
|
1544
|
+
})), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByRole = _render42.queryByRole;
|
|
1594
1545
|
input = getByRole("combobox");
|
|
1546
|
+
expect(input.value).toBe("Denm");
|
|
1595
1547
|
|
|
1596
|
-
|
|
1548
|
+
_userEvent["default"].click(getByText("Autosuggest Countries"));
|
|
1597
1549
|
|
|
1598
|
-
|
|
1550
|
+
_context4.next = 8;
|
|
1599
1551
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1600
1552
|
return getByText("Searching...");
|
|
1601
1553
|
});
|
|
1602
1554
|
|
|
1603
|
-
case
|
|
1604
|
-
expect(input.value).toBe("Denm");
|
|
1555
|
+
case 8:
|
|
1605
1556
|
expect(getByText("Denmark")).toBeTruthy();
|
|
1606
1557
|
|
|
1607
|
-
|
|
1558
|
+
_react2.fireEvent.focus(getByRole("option"));
|
|
1559
|
+
|
|
1560
|
+
_userEvent["default"].click(getByText("Denmark"));
|
|
1608
1561
|
|
|
1609
1562
|
expect(onChange).toHaveBeenCalledWith({
|
|
1610
1563
|
value: "Denmark"
|
|
1611
1564
|
});
|
|
1612
1565
|
expect(queryByRole("listbox")).toBeFalsy();
|
|
1613
1566
|
|
|
1614
|
-
case
|
|
1567
|
+
case 13:
|
|
1615
1568
|
case "end":
|
|
1616
|
-
return
|
|
1569
|
+
return _context4.stop();
|
|
1617
1570
|
}
|
|
1618
1571
|
}
|
|
1619
|
-
},
|
|
1572
|
+
}, _callee4);
|
|
1620
1573
|
})));
|
|
1621
|
-
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1622
|
-
var callbackFunc, onChange,
|
|
1574
|
+
test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
1575
|
+
var callbackFunc, onChange, _render43, getByText, getByRole, queryByRole, input;
|
|
1623
1576
|
|
|
1624
|
-
return _regenerator["default"].wrap(function
|
|
1577
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
1625
1578
|
while (1) {
|
|
1626
|
-
switch (
|
|
1579
|
+
switch (_context5.prev = _context5.next) {
|
|
1627
1580
|
case 0:
|
|
1628
1581
|
callbackFunc = jest.fn(function (newValue) {
|
|
1629
1582
|
var result = new Promise(function (resolve) {
|
|
@@ -1636,18 +1589,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1636
1589
|
return result;
|
|
1637
1590
|
});
|
|
1638
1591
|
onChange = jest.fn();
|
|
1639
|
-
|
|
1592
|
+
_render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1640
1593
|
label: "Autosuggest Countries",
|
|
1641
1594
|
onChange: onChange,
|
|
1642
1595
|
suggestions: callbackFunc
|
|
1643
|
-
})), getByText =
|
|
1596
|
+
})), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
|
|
1644
1597
|
input = getByRole("combobox");
|
|
1645
1598
|
|
|
1646
1599
|
_react2.fireEvent.focus(input);
|
|
1647
1600
|
|
|
1648
1601
|
_userEvent["default"].type(input, "Example text");
|
|
1649
1602
|
|
|
1650
|
-
|
|
1603
|
+
_context5.next = 8;
|
|
1651
1604
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1652
1605
|
return getByText("Searching...");
|
|
1653
1606
|
});
|
|
@@ -1657,17 +1610,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1657
1610
|
|
|
1658
1611
|
case 9:
|
|
1659
1612
|
case "end":
|
|
1660
|
-
return
|
|
1613
|
+
return _context5.stop();
|
|
1661
1614
|
}
|
|
1662
1615
|
}
|
|
1663
|
-
},
|
|
1616
|
+
}, _callee5);
|
|
1664
1617
|
})));
|
|
1665
|
-
test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1666
|
-
var callbackFunc, onChange,
|
|
1618
|
+
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() {
|
|
1619
|
+
var callbackFunc, onChange, _render44, getByText, getByRole, queryByRole, input;
|
|
1667
1620
|
|
|
1668
|
-
return _regenerator["default"].wrap(function
|
|
1621
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1669
1622
|
while (1) {
|
|
1670
|
-
switch (
|
|
1623
|
+
switch (_context6.prev = _context6.next) {
|
|
1671
1624
|
case 0:
|
|
1672
1625
|
callbackFunc = jest.fn(function (newValue) {
|
|
1673
1626
|
var result = new Promise(function (resolve) {
|
|
@@ -1680,18 +1633,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1680
1633
|
return result;
|
|
1681
1634
|
});
|
|
1682
1635
|
onChange = jest.fn();
|
|
1683
|
-
|
|
1636
|
+
_render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1684
1637
|
label: "Autosuggest Countries",
|
|
1685
1638
|
onChange: onChange,
|
|
1686
1639
|
suggestions: callbackFunc
|
|
1687
|
-
})), getByText =
|
|
1640
|
+
})), getByText = _render44.getByText, getByRole = _render44.getByRole, queryByRole = _render44.queryByRole;
|
|
1688
1641
|
input = getByRole("combobox");
|
|
1689
1642
|
|
|
1690
1643
|
_react2.fireEvent.focus(input);
|
|
1691
1644
|
|
|
1692
1645
|
_userEvent["default"].type(input, "wrong");
|
|
1693
1646
|
|
|
1694
|
-
|
|
1647
|
+
_context6.next = 8;
|
|
1695
1648
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1696
1649
|
return getByText("Searching...");
|
|
1697
1650
|
});
|
|
@@ -1723,17 +1676,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1723
1676
|
|
|
1724
1677
|
case 15:
|
|
1725
1678
|
case "end":
|
|
1726
|
-
return
|
|
1679
|
+
return _context6.stop();
|
|
1727
1680
|
}
|
|
1728
1681
|
}
|
|
1729
|
-
},
|
|
1682
|
+
}, _callee6);
|
|
1730
1683
|
})));
|
|
1731
|
-
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1732
|
-
var errorCallbackFunc, onChange,
|
|
1684
|
+
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
1685
|
+
var errorCallbackFunc, onChange, _render45, getByRole, getByText, input;
|
|
1733
1686
|
|
|
1734
|
-
return _regenerator["default"].wrap(function
|
|
1687
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1735
1688
|
while (1) {
|
|
1736
|
-
switch (
|
|
1689
|
+
switch (_context7.prev = _context7.next) {
|
|
1737
1690
|
case 0:
|
|
1738
1691
|
errorCallbackFunc = jest.fn(function () {
|
|
1739
1692
|
var result = new Promise(function (resolve, reject) {
|
|
@@ -1744,16 +1697,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1744
1697
|
return result;
|
|
1745
1698
|
});
|
|
1746
1699
|
onChange = jest.fn();
|
|
1747
|
-
|
|
1700
|
+
_render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
1748
1701
|
label: "Autosuggest Countries",
|
|
1749
1702
|
onChange: onChange,
|
|
1750
1703
|
suggestions: errorCallbackFunc
|
|
1751
|
-
})), getByRole =
|
|
1704
|
+
})), getByRole = _render45.getByRole, getByText = _render45.getByText;
|
|
1752
1705
|
input = getByRole("combobox");
|
|
1753
1706
|
|
|
1754
1707
|
_react2.fireEvent.focus(input);
|
|
1755
1708
|
|
|
1756
|
-
|
|
1709
|
+
_context7.next = 7;
|
|
1757
1710
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1758
1711
|
return getByText("Searching...");
|
|
1759
1712
|
});
|
|
@@ -1763,9 +1716,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
|
|
|
1763
1716
|
|
|
1764
1717
|
case 8:
|
|
1765
1718
|
case "end":
|
|
1766
|
-
return
|
|
1719
|
+
return _context7.stop();
|
|
1767
1720
|
}
|
|
1768
1721
|
}
|
|
1769
|
-
},
|
|
1722
|
+
}, _callee7);
|
|
1770
1723
|
})));
|
|
1771
1724
|
});
|