@dxc-technology/halstack-react 0.0.0-1b3d457 → 0.0.0-1b8b460

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.
Files changed (80) hide show
  1. package/HalstackContext.js +7 -8
  2. package/accordion/types.d.ts +1 -0
  3. package/accordion-group/types.d.ts +1 -0
  4. package/box/types.d.ts +1 -0
  5. package/card/types.d.ts +1 -0
  6. package/checkbox/Checkbox.d.ts +2 -2
  7. package/checkbox/Checkbox.js +16 -16
  8. package/checkbox/Checkbox.stories.tsx +79 -59
  9. package/checkbox/types.d.ts +4 -0
  10. package/common/variables.js +129 -125
  11. package/date-input/Calendar.d.ts +4 -0
  12. package/date-input/Calendar.js +258 -0
  13. package/date-input/DateInput.js +77 -222
  14. package/date-input/DateInput.stories.tsx +30 -17
  15. package/date-input/DateInput.test.js +411 -138
  16. package/date-input/DatePicker.d.ts +4 -0
  17. package/date-input/DatePicker.js +160 -0
  18. package/date-input/YearPicker.d.ts +4 -0
  19. package/date-input/YearPicker.js +115 -0
  20. package/date-input/types.d.ts +53 -0
  21. package/dialog/Dialog.js +4 -4
  22. package/dialog/Dialog.stories.tsx +56 -0
  23. package/dialog/types.d.ts +1 -0
  24. package/dropdown/Dropdown.js +37 -33
  25. package/dropdown/Dropdown.test.js +19 -25
  26. package/dropdown/DropdownMenuItem.js +1 -1
  27. package/file-input/FileInput.d.ts +2 -2
  28. package/file-input/FileInput.js +177 -219
  29. package/file-input/FileInput.stories.tsx +38 -10
  30. package/file-input/FileInput.test.js +53 -12
  31. package/file-input/FileItem.d.ts +4 -14
  32. package/file-input/FileItem.js +38 -63
  33. package/file-input/types.d.ts +17 -0
  34. package/flex/Flex.d.ts +1 -1
  35. package/flex/Flex.js +31 -19
  36. package/flex/types.d.ts +14 -3
  37. package/footer/types.d.ts +1 -0
  38. package/header/types.d.ts +1 -0
  39. package/link/Link.js +1 -1
  40. package/number-input/NumberInput.test.js +43 -7
  41. package/package.json +7 -12
  42. package/paginator/Paginator.js +2 -2
  43. package/paginator/Paginator.test.js +1 -1
  44. package/password-input/PasswordInput.test.js +13 -12
  45. package/quick-nav/QuickNav.js +11 -12
  46. package/quick-nav/QuickNav.stories.tsx +97 -19
  47. package/radio-group/Radio.d.ts +1 -1
  48. package/radio-group/Radio.js +43 -28
  49. package/radio-group/RadioGroup.js +15 -13
  50. package/radio-group/RadioGroup.stories.tsx +1 -0
  51. package/radio-group/RadioGroup.test.js +123 -96
  52. package/radio-group/types.d.ts +2 -2
  53. package/resultsetTable/Icons.d.ts +7 -0
  54. package/resultsetTable/Icons.js +51 -0
  55. package/resultsetTable/ResultsetTable.js +48 -107
  56. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  57. package/resultsetTable/ResultsetTable.test.js +23 -41
  58. package/resultsetTable/types.d.ts +2 -2
  59. package/select/Select.js +3 -1
  60. package/select/Select.stories.tsx +2 -5
  61. package/select/Select.test.js +267 -209
  62. package/slider/Slider.d.ts +2 -2
  63. package/slider/Slider.js +15 -11
  64. package/slider/types.d.ts +4 -0
  65. package/spinner/Spinner.js +2 -2
  66. package/switch/Switch.d.ts +3 -3
  67. package/switch/Switch.js +93 -82
  68. package/switch/Switch.test.js +26 -13
  69. package/switch/types.d.ts +6 -1
  70. package/table/Table.js +1 -1
  71. package/table/Table.test.js +1 -1
  72. package/tabs/Tabs.js +3 -3
  73. package/tabs/Tabs.stories.tsx +0 -1
  74. package/tabs-nav/Tab.js +1 -1
  75. package/text-input/Suggestion.js +32 -5
  76. package/text-input/TextInput.js +165 -151
  77. package/text-input/TextInput.stories.tsx +6 -1
  78. package/text-input/TextInput.test.js +658 -647
  79. package/text-input/types.d.ts +5 -0
  80. package/common/RequiredComponent.js +0 -32
@@ -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", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
405
- var _render10, getByTitle;
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
- return _regenerator["default"].wrap(function _callee$(_context) {
408
- while (1) {
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",
@@ -450,7 +440,6 @@ describe("TextInput component tests", function () {
450
440
  getByRole = _render12.getByRole;
451
441
 
452
442
  var input = getByRole("textbox");
453
- expect(input.getAttribute("aria-disabled")).toBe("true");
454
443
 
455
444
  _userEvent["default"].type(input, "Test");
456
445
 
@@ -554,13 +543,70 @@ describe("TextInput component tests", function () {
554
543
 
555
544
  expect(onClick).toHaveBeenCalled();
556
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
+ });
557
603
  test("Renders with correct prefix and suffix", function () {
558
- var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
604
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
559
605
  label: "Input label",
560
606
  prefix: "+34",
561
607
  suffix: "USD"
562
608
  })),
563
- getByText = _render17.getByText;
609
+ getByText = _render18.getByText;
564
610
 
565
611
  expect(getByText("+34")).toBeTruthy();
566
612
  expect(getByText("USD")).toBeTruthy();
@@ -585,18 +631,19 @@ describe("TextInput component tests", function () {
585
631
  title: "Search"
586
632
  };
587
633
 
588
- var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
634
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
589
635
  label: "Example label",
590
636
  clearable: true,
591
637
  action: action
592
638
  })),
593
- getByRole = _render18.getByRole,
594
- getAllByRole = _render18.getAllByRole;
639
+ getByRole = _render19.getByRole,
640
+ getAllByRole = _render19.getAllByRole;
595
641
 
596
642
  var input = getByRole("textbox");
597
643
  expect(input.getAttribute("aria-autocomplete")).toBeNull();
598
644
  expect(input.getAttribute("aria-controls")).toBeNull();
599
645
  expect(input.getAttribute("aria-expanded")).toBeNull();
646
+ expect(input.getAttribute("aria-haspopup")).toBeNull();
600
647
  expect(input.getAttribute("aria-activedescendant")).toBeNull();
601
648
  expect(input.getAttribute("aria-invalid")).toBe("false");
602
649
  expect(input.getAttribute("aria-errormessage")).toBeNull();
@@ -610,17 +657,18 @@ describe("TextInput component tests", function () {
610
657
  expect(search.getAttribute("aria-label")).toBe("Search");
611
658
  });
612
659
  test("Autosuggest has correct accesibility attributes", function () {
613
- var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
660
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
614
661
  label: "Autocomplete Countries",
615
662
  optional: true,
616
663
  suggestions: countries
617
664
  })),
618
- getByRole = _render19.getByRole,
619
- getAllByRole = _render19.getAllByRole;
665
+ getByRole = _render20.getByRole,
666
+ getAllByRole = _render20.getAllByRole;
620
667
 
621
668
  var input = getByRole("combobox");
622
669
  expect(input.getAttribute("aria-autocomplete")).toBe("list");
623
670
  expect(input.getAttribute("aria-expanded")).toBe("false");
671
+ expect(input.getAttribute("aria-haspopup")).toBe("listbox");
624
672
  expect(input.getAttribute("aria-required")).toBe("false");
625
673
 
626
674
  _react2.fireEvent.focus(input);
@@ -633,115 +681,90 @@ describe("TextInput component tests", function () {
633
681
  });
634
682
  });
635
683
  describe("TextInput component synchronous autosuggest tests", function () {
636
- test("Autosuggest is displayed when the input gains focus", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
637
- var onChange, _render20, getByRole, getByText, input, list;
684
+ test("Autosuggest is displayed when the input gains focus", function () {
685
+ var onChange = jest.fn();
638
686
 
639
- return _regenerator["default"].wrap(function _callee2$(_context2) {
640
- while (1) {
641
- switch (_context2.prev = _context2.next) {
642
- case 0:
643
- onChange = jest.fn();
644
- _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
645
- label: "Autocomplete Countries",
646
- suggestions: countries,
647
- onChange: onChange
648
- })), getByRole = _render20.getByRole, getByText = _render20.getByText;
649
- 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;
650
694
 
651
- _react2.fireEvent.focus(input);
695
+ var input = getByRole("combobox");
652
696
 
653
- list = getByRole("listbox");
654
- expect(list).toBeTruthy();
655
- expect(getByText("Afghanistan")).toBeTruthy();
656
- expect(getByText("Albania")).toBeTruthy();
657
- expect(getByText("Algeria")).toBeTruthy();
658
- expect(getByText("Andorra")).toBeTruthy();
697
+ _react2.fireEvent.focus(input);
659
698
 
660
- case 10:
661
- case "end":
662
- return _context2.stop();
663
- }
664
- }
665
- }, _callee2);
666
- })));
667
- test("Autosuggest is displayed when the user clicks the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
668
- var onChange, _render21, getByRole, getByText, input, list;
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();
669
708
 
670
- return _regenerator["default"].wrap(function _callee3$(_context3) {
671
- while (1) {
672
- switch (_context3.prev = _context3.next) {
673
- case 0:
674
- onChange = jest.fn();
675
- _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
676
- label: "Autocomplete Countries",
677
- suggestions: countries,
678
- onChange: onChange
679
- })), getByRole = _render21.getByRole, getByText = _render21.getByText;
680
- 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;
681
716
 
682
- _react2.fireEvent.focus(input);
717
+ var input = getByRole("combobox");
683
718
 
684
- list = getByRole("listbox");
685
- expect(list).toBeTruthy();
686
- expect(getByText("Afghanistan")).toBeTruthy();
687
- expect(getByText("Albania")).toBeTruthy();
688
- expect(getByText("Algeria")).toBeTruthy();
689
- expect(getByText("Andorra")).toBeTruthy();
719
+ _react2.fireEvent.focus(input);
690
720
 
691
- case 10:
692
- case "end":
693
- return _context3.stop();
694
- }
695
- }
696
- }, _callee3);
697
- })));
698
- test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
699
- var onChange, _render22, getByRole, queryByRole, getByText, getAllByText, input, list;
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();
700
730
 
701
- return _regenerator["default"].wrap(function _callee4$(_context4) {
702
- while (1) {
703
- switch (_context4.prev = _context4.next) {
704
- case 0:
705
- onChange = jest.fn();
706
- _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
707
- label: "Autocomplete Countries",
708
- suggestions: countries,
709
- onChange: onChange
710
- })), getByRole = _render22.getByRole, queryByRole = _render22.queryByRole, getByText = _render22.getByText, getAllByText = _render22.getAllByText;
711
- 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;
712
740
 
713
- _react2.fireEvent.focus(input);
741
+ var input = getByRole("combobox");
714
742
 
715
- list = getByRole("listbox");
716
- expect(list).toBeTruthy();
743
+ _react2.fireEvent.focus(input);
717
744
 
718
- _react2.fireEvent.keyDown(input, {
719
- key: "Esc",
720
- code: "Esc",
721
- keyCode: 27,
722
- charCode: 27
723
- });
745
+ var list = getByRole("listbox");
746
+ expect(list).toBeTruthy();
724
747
 
725
- expect(queryByRole("listbox")).toBeFalsy();
748
+ _react2.fireEvent.keyDown(input, {
749
+ key: "Esc",
750
+ code: "Esc",
751
+ keyCode: 27,
752
+ charCode: 27
753
+ });
726
754
 
727
- _userEvent["default"].type(input, "B");
755
+ expect(queryByRole("listbox")).toBeFalsy();
728
756
 
729
- expect(list).toBeTruthy();
730
- expect(getAllByText("B").length).toBe(4);
731
- expect(getByText("ahamas")).toBeTruthy();
732
- expect(getByText("ahrain")).toBeTruthy();
733
- expect(getByText("angladesh")).toBeTruthy();
734
- expect(getByText("arbados")).toBeTruthy();
757
+ _userEvent["default"].type(input, "B");
735
758
 
736
- case 15:
737
- case "end":
738
- return _context4.stop();
739
- }
740
- }
741
- }, _callee4);
742
- })));
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
+ });
743
766
  test("Autosuggest displays filtered when the input has a default value", function () {
744
- var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
767
+ var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
745
768
  label: "Uncontrolled suggestions filtered by default",
746
769
  helperText: "Example of helper text",
747
770
  placeholder: "Placeholder",
@@ -750,9 +773,9 @@ describe("TextInput component synchronous autosuggest tests", function () {
750
773
  suggestions: ["Suggestion 11", "Suggestion 12", "Suggestion 23", "Suggestion 24"],
751
774
  clearable: true
752
775
  })),
753
- getByRole = _render23.getByRole,
754
- getByText = _render23.getByText,
755
- getAllByText = _render23.getAllByText;
776
+ getByRole = _render24.getByRole,
777
+ getByText = _render24.getByText,
778
+ getAllByText = _render24.getAllByText;
756
779
 
757
780
  var input = getByRole("combobox");
758
781
  expect(input.value).toBe("Suggestion 2");
@@ -763,517 +786,511 @@ describe("TextInput component synchronous autosuggest tests", function () {
763
786
  expect(getByText("3")).toBeTruthy();
764
787
  expect(getByText("4")).toBeTruthy();
765
788
  });
766
- test("Autosuggest is not displayed when prop suggestions is an empty array", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
767
- var onChange, _render24, queryByRole, input;
789
+ test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
790
+ var onChange = jest.fn();
768
791
 
769
- return _regenerator["default"].wrap(function _callee5$(_context5) {
770
- while (1) {
771
- switch (_context5.prev = _context5.next) {
772
- case 0:
773
- onChange = jest.fn();
774
- _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
775
- label: "Autocomplete Countries",
776
- suggestions: [],
777
- onChange: onChange
778
- })), queryByRole = _render24.queryByRole;
779
- 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;
780
798
 
781
- _react2.fireEvent.focus(input);
799
+ var input = queryByRole("textbox");
782
800
 
783
- expect(queryByRole("listbox")).toBeFalsy();
801
+ _react2.fireEvent.focus(input);
784
802
 
785
- case 5:
786
- case "end":
787
- return _context5.stop();
788
- }
789
- }
790
- }, _callee5);
791
- })));
792
- 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() {
793
- var onChange, _render25, 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();
794
807
 
795
- return _regenerator["default"].wrap(function _callee6$(_context6) {
796
- while (1) {
797
- switch (_context6.prev = _context6.next) {
798
- case 0:
799
- onChange = jest.fn();
800
- _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
801
- label: "Autocomplete Countries",
802
- suggestions: countries,
803
- onChange: onChange
804
- })), getByRole = _render25.getByRole, queryByRole = _render25.queryByRole, getByText = _render25.getByText;
805
- 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;
806
816
 
807
- _react2.fireEvent.focus(input);
817
+ var input = getByRole("combobox");
808
818
 
809
- list = getByRole("listbox");
810
- expect(list).toBeTruthy();
811
- expect(getByText("Afghanistan")).toBeTruthy();
819
+ _react2.fireEvent.focus(input);
812
820
 
813
- _userEvent["default"].type(input, "x");
821
+ var list = getByRole("listbox");
822
+ expect(list).toBeTruthy();
823
+ expect(getByText("Afghanistan")).toBeTruthy();
814
824
 
815
- expect(queryByRole("listbox")).toBeFalsy();
825
+ _userEvent["default"].type(input, "x");
816
826
 
817
- case 9:
818
- case "end":
819
- return _context6.stop();
820
- }
821
- }
822
- }, _callee6);
823
- })));
824
- test("Autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
825
- var onChange, _render26, 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();
826
831
 
827
- return _regenerator["default"].wrap(function _callee7$(_context7) {
828
- while (1) {
829
- switch (_context7.prev = _context7.next) {
830
- case 0:
831
- onChange = jest.fn();
832
- _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
833
- label: "Autocomplete Countries",
834
- suggestions: countries,
835
- onChange: onChange
836
- })), getByRole = _render26.getByRole, queryByRole = _render26.queryByRole, getByText = _render26.getByText;
837
- 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;
838
840
 
839
- _react2.fireEvent.focus(input);
841
+ var input = getByRole("combobox");
840
842
 
841
- list = getByRole("listbox");
842
- expect(list).toBeTruthy();
843
- expect(getByText("Afghanistan")).toBeTruthy();
843
+ _react2.fireEvent.focus(input);
844
844
 
845
- _userEvent["default"].type(input, "x");
845
+ var list = getByRole("listbox");
846
+ expect(list).toBeTruthy();
847
+ expect(getByText("Afghanistan")).toBeTruthy();
846
848
 
847
- expect(queryByRole("listbox")).toBeFalsy();
849
+ _userEvent["default"].type(input, "x");
848
850
 
849
- _react2.fireEvent.focus(input);
851
+ expect(queryByRole("listbox")).toBeFalsy();
850
852
 
851
- expect(queryByRole("listbox")).toBeFalsy();
853
+ _react2.fireEvent.focus(input);
852
854
 
853
- _react2.fireEvent.keyDown(input, {
854
- key: "ArrowUp",
855
- code: "ArrowUp",
856
- keyCode: 38,
857
- charCode: 38
858
- });
855
+ expect(queryByRole("listbox")).toBeFalsy();
859
856
 
860
- expect(queryByRole("listbox")).toBeFalsy();
857
+ _react2.fireEvent.keyDown(input, {
858
+ key: "ArrowUp",
859
+ code: "ArrowUp",
860
+ keyCode: 38,
861
+ charCode: 38
862
+ });
861
863
 
862
- _react2.fireEvent.keyDown(input, {
863
- key: "ArrowDown",
864
- code: "ArrowDown",
865
- keyCode: 40,
866
- charCode: 40
867
- });
864
+ expect(queryByRole("listbox")).toBeFalsy();
868
865
 
869
- expect(queryByRole("listbox")).toBeFalsy();
866
+ _react2.fireEvent.keyDown(input, {
867
+ key: "ArrowDown",
868
+ code: "ArrowDown",
869
+ keyCode: 40,
870
+ charCode: 40
871
+ });
870
872
 
871
- case 15:
872
- case "end":
873
- return _context7.stop();
874
- }
875
- }
876
- }, _callee7);
877
- })));
878
- test("Autosuggest uncontrolled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
879
- var onChange, _render27, getByRole, getByText, queryByRole, input;
873
+ expect(queryByRole("listbox")).toBeFalsy();
874
+ });
875
+ test("Autosuggest uncontrolled - Suggestion selected by click", function () {
876
+ var onChange = jest.fn();
880
877
 
881
- return _regenerator["default"].wrap(function _callee8$(_context8) {
882
- while (1) {
883
- switch (_context8.prev = _context8.next) {
884
- case 0:
885
- onChange = jest.fn();
886
- _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
887
- label: "Autocomplete Countries",
888
- suggestions: countries,
889
- onChange: onChange
890
- })), getByRole = _render27.getByRole, getByText = _render27.getByText, queryByRole = _render27.queryByRole;
891
- 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;
892
886
 
893
- _react2.fireEvent.focus(input);
887
+ var input = getByRole("combobox");
894
888
 
895
- _userEvent["default"].type(input, "Alba");
889
+ _react2.fireEvent.focus(input);
896
890
 
897
- expect(onChange).toHaveBeenCalled();
898
- expect(getByText("Alba")).toBeTruthy();
899
- expect(getByText("nia")).toBeTruthy();
891
+ _userEvent["default"].type(input, "Alba");
900
892
 
901
- _userEvent["default"].click(getByRole("option"));
893
+ expect(onChange).toHaveBeenCalled();
894
+ expect(getByText("Alba")).toBeTruthy();
895
+ expect(getByText("nia")).toBeTruthy();
902
896
 
903
- expect(input.value).toBe("Albania");
904
- expect(queryByRole("listbox")).toBeFalsy();
897
+ _userEvent["default"].click(getByRole("option"));
905
898
 
906
- case 11:
907
- case "end":
908
- return _context8.stop();
909
- }
910
- }
911
- }, _callee8);
912
- })));
913
- test("Autosuggest controlled - Suggestion selected by click", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
914
- var onChange, _render28, 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();
915
904
 
916
- return _regenerator["default"].wrap(function _callee9$(_context9) {
917
- while (1) {
918
- switch (_context9.prev = _context9.next) {
919
- case 0:
920
- onChange = jest.fn();
921
- _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
922
- label: "Autocomplete Countries",
923
- value: "Andor",
924
- suggestions: countries,
925
- onChange: onChange
926
- })), getByRole = _render28.getByRole, getByText = _render28.getByText, queryByRole = _render28.queryByRole;
927
- 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;
928
914
 
929
- _react2.fireEvent.focus(input);
915
+ var input = getByRole("combobox");
930
916
 
931
- expect(input.value).toBe("Andor");
932
- expect(getByText("Andor")).toBeTruthy();
933
- expect(getByText("ra")).toBeTruthy();
917
+ _userEvent["default"].click(getByText("Autocomplete Countries"));
934
918
 
935
- _userEvent["default"].click(getByRole("option"));
919
+ expect(input.value).toBe("Andor");
920
+ expect(getByText("Andor")).toBeTruthy();
921
+ expect(getByText("ra")).toBeTruthy();
936
922
 
937
- expect(onChange).toHaveBeenCalledWith({
938
- value: "Andorra"
939
- });
940
- expect(queryByRole("listbox")).toBeFalsy();
923
+ _userEvent["default"].click(getByRole("option"));
941
924
 
942
- case 10:
943
- case "end":
944
- return _context9.stop();
945
- }
946
- }
947
- }, _callee9);
948
- })));
949
- test("Autosuggest - Pattern constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
950
- var onChange, onBlur, _render29, 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();
951
933
 
952
- return _regenerator["default"].wrap(function _callee10$(_context10) {
953
- while (1) {
954
- switch (_context10.prev = _context10.next) {
955
- case 0:
956
- onChange = jest.fn();
957
- onBlur = jest.fn();
958
- _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
959
- label: "Autocomplete Countries",
960
- suggestions: countries,
961
- onChange: onChange,
962
- onBlur: onBlur,
963
- pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
964
- })), getByRole = _render29.getByRole, getByText = _render29.getByText;
965
- 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;
966
943
 
967
- _react2.fireEvent.focus(input);
944
+ var input = getByRole("combobox");
968
945
 
969
- _userEvent["default"].type(input, "Andor");
946
+ _react2.fireEvent.focus(input);
970
947
 
971
- expect(getByText("Andor")).toBeTruthy();
972
- expect(getByText("ra")).toBeTruthy();
948
+ _userEvent["default"].type(input, "Andor");
973
949
 
974
- _userEvent["default"].click(getByRole("option"));
950
+ expect(getByText("Andor")).toBeTruthy();
951
+ expect(getByText("ra")).toBeTruthy();
975
952
 
976
- expect(onChange).toHaveBeenCalledWith({
977
- value: "Andorra",
978
- error: "Please match the format requested."
979
- });
953
+ _userEvent["default"].click(getByRole("option"));
980
954
 
981
- _react2.fireEvent.blur(input);
955
+ expect(onChange).toHaveBeenCalledWith({
956
+ value: "Andorra",
957
+ error: "Please match the format requested."
958
+ });
982
959
 
983
- expect(onBlur).toHaveBeenCalledWith({
984
- value: "Andorra",
985
- error: "Please match the format requested."
986
- });
960
+ _react2.fireEvent.blur(input);
987
961
 
988
- case 12:
989
- case "end":
990
- return _context10.stop();
991
- }
992
- }
993
- }, _callee10);
994
- })));
995
- test("Autosuggest - Length constraint", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
996
- var onChange, onBlur, _render30, 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();
997
970
 
998
- return _regenerator["default"].wrap(function _callee11$(_context11) {
999
- while (1) {
1000
- switch (_context11.prev = _context11.next) {
1001
- case 0:
1002
- onChange = jest.fn();
1003
- onBlur = jest.fn();
1004
- _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1005
- label: "Autocomplete Countries",
1006
- suggestions: countries,
1007
- onChange: onChange,
1008
- onBlur: onBlur,
1009
- minLength: 5,
1010
- maxLength: 10
1011
- })), getByText = _render30.getByText, getByRole = _render30.getByRole;
1012
- 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;
1013
981
 
1014
- _react2.fireEvent.focus(input);
982
+ var input = getByRole("combobox");
1015
983
 
1016
- _userEvent["default"].type(input, "Cha");
984
+ _react2.fireEvent.focus(input);
1017
985
 
1018
- expect(getByText("Cha")).toBeTruthy();
1019
- expect(getByText("d")).toBeTruthy();
986
+ _userEvent["default"].type(input, "Cha");
1020
987
 
1021
- _userEvent["default"].click(getByRole("option"));
988
+ expect(getByText("Cha")).toBeTruthy();
989
+ expect(getByText("d")).toBeTruthy();
1022
990
 
1023
- expect(onChange).toHaveBeenCalledWith({
1024
- value: "Cha",
1025
- error: "Min length 5, max length 10."
1026
- });
991
+ _userEvent["default"].click(getByRole("option"));
1027
992
 
1028
- _react2.fireEvent.blur(input);
993
+ expect(onChange).toHaveBeenCalledWith({
994
+ value: "Cha",
995
+ error: "Min length 5, max length 10."
996
+ });
1029
997
 
1030
- expect(onBlur).toHaveBeenCalledWith({
1031
- value: "Chad",
1032
- error: "Min length 5, max length 10."
1033
- });
998
+ _react2.fireEvent.blur(input);
1034
999
 
1035
- case 12:
1036
- case "end":
1037
- return _context11.stop();
1038
- }
1039
- }
1040
- }, _callee11);
1041
- })));
1042
- 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() {
1043
- var onChange, _render31, 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();
1044
1007
 
1045
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1046
- while (1) {
1047
- switch (_context12.prev = _context12.next) {
1048
- case 0:
1049
- onChange = jest.fn();
1050
- _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1051
- label: "Autocomplete Countries",
1052
- suggestions: countries,
1053
- onChange: onChange
1054
- })), getByRole = _render31.getByRole, queryByRole = _render31.queryByRole;
1055
- 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;
1056
1015
 
1057
- _react2.fireEvent.keyDown(input, {
1058
- key: "ArrowDown",
1059
- code: "ArrowDown",
1060
- keyCode: 40,
1061
- charCode: 40
1062
- });
1016
+ var input = getByRole("combobox");
1063
1017
 
1064
- list = getByRole("listbox");
1065
- expect(list).toBeTruthy();
1018
+ _react2.fireEvent.keyDown(input, {
1019
+ key: "ArrowDown",
1020
+ code: "ArrowDown",
1021
+ keyCode: 40,
1022
+ charCode: 40
1023
+ });
1024
+
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();
1066
1131
 
1067
- _react2.fireEvent.keyDown(input, {
1068
- key: "Enter",
1069
- code: "Enter",
1070
- keyCode: 13,
1071
- charCode: 13
1072
- });
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;
1073
1139
 
1074
- expect(input.value).toBe("Afghanistan");
1075
- expect(queryByRole("list")).toBeFalsy();
1140
+ var input = getByRole("combobox");
1076
1141
 
1077
- case 9:
1078
- case "end":
1079
- return _context12.stop();
1080
- }
1081
- }
1082
- }, _callee12);
1083
- })));
1084
- 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() {
1085
- var onChange, _render32, getByRole, queryByRole, input, list;
1142
+ _react2.fireEvent.focus(input);
1086
1143
 
1087
- return _regenerator["default"].wrap(function _callee13$(_context13) {
1088
- while (1) {
1089
- switch (_context13.prev = _context13.next) {
1090
- case 0:
1091
- onChange = jest.fn();
1092
- _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1093
- label: "Autocomplete Countries",
1094
- suggestions: countries,
1095
- onChange: onChange
1096
- })), getByRole = _render32.getByRole, queryByRole = _render32.queryByRole;
1097
- input = getByRole("combobox");
1144
+ _userEvent["default"].type(input, "Ba");
1098
1145
 
1099
- _react2.fireEvent.keyDown(input, {
1100
- key: "ArrowUp",
1101
- code: "ArrowUp",
1102
- keyCode: 38,
1103
- charCode: 38
1104
- });
1146
+ _react2.fireEvent.keyDown(input, {
1147
+ key: "ArrowUp",
1148
+ code: "ArrowUp",
1149
+ keyCode: 38,
1150
+ charCode: 38
1151
+ });
1105
1152
 
1106
- list = getByRole("listbox");
1107
- expect(list).toBeTruthy();
1153
+ _react2.fireEvent.keyDown(input, {
1154
+ key: "ArrowUp",
1155
+ code: "ArrowUpp",
1156
+ keyCode: 38,
1157
+ charCode: 38
1158
+ });
1108
1159
 
1109
- _react2.fireEvent.keyDown(input, {
1110
- key: "Enter",
1111
- code: "Enter",
1112
- keyCode: 13,
1113
- charCode: 13
1114
- });
1160
+ _react2.fireEvent.keyDown(input, {
1161
+ key: "ArrowDown",
1162
+ code: "ArrowDown",
1163
+ keyCode: 40,
1164
+ charCode: 40
1165
+ });
1115
1166
 
1116
- expect(input.value).toBe("Djibouti");
1117
- expect(queryByRole("list")).toBeFalsy();
1167
+ _react2.fireEvent.keyDown(input, {
1168
+ key: "Enter",
1169
+ code: "Enter",
1170
+ keyCode: 13,
1171
+ charCode: 13
1172
+ });
1118
1173
 
1119
- case 9:
1120
- case "end":
1121
- return _context13.stop();
1122
- }
1123
- }
1124
- }, _callee13);
1125
- })));
1126
- test("Autosuggest keys: Esc key closes the autosuggest and cleans the input", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1127
- var onChange, _render33, getByRole, queryByRole, input, list;
1174
+ expect(input.value).toBe("Barbados");
1175
+ expect(queryByRole("listbox")).toBeFalsy();
1128
1176
 
1129
- return _regenerator["default"].wrap(function _callee14$(_context14) {
1130
- while (1) {
1131
- switch (_context14.prev = _context14.next) {
1132
- case 0:
1133
- onChange = jest.fn();
1134
- _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1135
- label: "Autocomplete Countries",
1136
- suggestions: countries,
1137
- onChange: onChange
1138
- })), getByRole = _render33.getByRole, queryByRole = _render33.queryByRole;
1139
- input = getByRole("combobox");
1177
+ _react2.fireEvent.keyDown(input, {
1178
+ key: "Esc",
1179
+ code: "Esp",
1180
+ keyCode: 27,
1181
+ charCode: 27
1182
+ });
1140
1183
 
1141
- _react2.fireEvent.focus(input);
1184
+ expect(input.value).toBe("");
1185
+ expect(queryByRole("listbox")).toBeFalsy();
1186
+ });
1187
+ test("Autosuggest escapes special characters", function () {
1188
+ var onChange = jest.fn();
1142
1189
 
1143
- _userEvent["default"].type(input, "Bangla");
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;
1144
1198
 
1145
- list = getByRole("listbox");
1146
- expect(list).toBeTruthy();
1199
+ var input = getByRole("combobox");
1147
1200
 
1148
- _react2.fireEvent.keyDown(input, {
1149
- key: "Esc",
1150
- code: "Esc",
1151
- keyCode: 27,
1152
- charCode: 27
1153
- });
1201
+ _react2.fireEvent.focus(input);
1154
1202
 
1155
- expect(input.value).toBe("");
1156
- expect(queryByRole("listbox")).toBeFalsy();
1203
+ var list = getByRole("listbox");
1157
1204
 
1158
- case 10:
1159
- case "end":
1160
- return _context14.stop();
1161
- }
1205
+ _react2.fireEvent.change(input, {
1206
+ target: {
1207
+ value: "/"
1162
1208
  }
1163
- }, _callee14);
1164
- })));
1165
- test("Autosuggest keys: Enter, if no active suggestion closes the autosuggest", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1166
- var onChange, _render34, getByRole, queryByRole, input, list;
1209
+ });
1167
1210
 
1168
- return _regenerator["default"].wrap(function _callee15$(_context15) {
1169
- while (1) {
1170
- switch (_context15.prev = _context15.next) {
1171
- case 0:
1172
- onChange = jest.fn();
1173
- _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1174
- label: "Autocomplete Countries",
1175
- suggestions: countries,
1176
- onChange: onChange
1177
- })), getByRole = _render34.getByRole, queryByRole = _render34.queryByRole;
1178
- input = getByRole("combobox");
1211
+ expect(list).toBeTruthy();
1212
+ expect(getAllByText("/").length).toBe(1);
1179
1213
 
1180
- _react2.fireEvent.focus(input);
1214
+ _react2.fireEvent.change(input, {
1215
+ target: {
1216
+ value: "\\"
1217
+ }
1218
+ });
1181
1219
 
1182
- list = getByRole("listbox");
1183
- expect(list).toBeTruthy();
1220
+ expect(list).toBeTruthy();
1221
+ expect(getAllByText("\\").length).toBe(1);
1184
1222
 
1185
- _react2.fireEvent.keyDown(input, {
1186
- key: "Enter",
1187
- code: "Enter",
1188
- keyCode: 27,
1189
- charCode: 27
1190
- });
1223
+ _react2.fireEvent.change(input, {
1224
+ target: {
1225
+ value: "*"
1226
+ }
1227
+ });
1191
1228
 
1192
- expect(input.value).toBe("");
1193
- expect(queryByRole("list")).toBeFalsy();
1229
+ expect(list).toBeTruthy();
1230
+ expect(getAllByText("*").length).toBe(2);
1194
1231
 
1195
- case 9:
1196
- case "end":
1197
- return _context15.stop();
1198
- }
1232
+ _react2.fireEvent.change(input, {
1233
+ target: {
1234
+ value: "("
1199
1235
  }
1200
- }, _callee15);
1201
- })));
1202
- 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() {
1203
- var onChange, _render35, getByRole, queryByRole, input;
1204
-
1205
- return _regenerator["default"].wrap(function _callee16$(_context16) {
1206
- while (1) {
1207
- switch (_context16.prev = _context16.next) {
1208
- case 0:
1209
- onChange = jest.fn();
1210
- _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1211
- label: "Autocomplete Countries",
1212
- suggestions: countries,
1213
- onChange: onChange
1214
- })), getByRole = _render35.getByRole, queryByRole = _render35.queryByRole;
1215
- input = getByRole("combobox");
1236
+ });
1216
1237
 
1217
- _react2.fireEvent.focus(input);
1238
+ expect(list).toBeTruthy();
1239
+ expect(getAllByText("(").length).toBe(1);
1218
1240
 
1219
- _userEvent["default"].type(input, "Ba");
1241
+ _react2.fireEvent.change(input, {
1242
+ target: {
1243
+ value: ")"
1244
+ }
1245
+ });
1220
1246
 
1221
- _react2.fireEvent.keyDown(input, {
1222
- key: "ArrowUp",
1223
- code: "ArrowUp",
1224
- keyCode: 38,
1225
- charCode: 38
1226
- });
1247
+ expect(list).toBeTruthy();
1248
+ expect(getAllByText(")").length).toBe(1);
1227
1249
 
1228
- _react2.fireEvent.keyDown(input, {
1229
- key: "ArrowUp",
1230
- code: "ArrowUpp",
1231
- keyCode: 38,
1232
- charCode: 38
1233
- });
1250
+ _react2.fireEvent.change(input, {
1251
+ target: {
1252
+ value: "["
1253
+ }
1254
+ });
1234
1255
 
1235
- _react2.fireEvent.keyDown(input, {
1236
- key: "ArrowDown",
1237
- code: "ArrowDown",
1238
- keyCode: 40,
1239
- charCode: 40
1240
- });
1256
+ expect(list).toBeTruthy();
1257
+ expect(getAllByText("[").length).toBe(1);
1241
1258
 
1242
- _react2.fireEvent.keyDown(input, {
1243
- key: "Enter",
1244
- code: "Enter",
1245
- keyCode: 13,
1246
- charCode: 13
1247
- });
1259
+ _react2.fireEvent.change(input, {
1260
+ target: {
1261
+ value: "]"
1262
+ }
1263
+ });
1248
1264
 
1249
- expect(input.value).toBe("Barbados");
1250
- expect(queryByRole("listbox")).toBeFalsy();
1265
+ expect(list).toBeTruthy();
1266
+ expect(getAllByText("]").length).toBe(1);
1251
1267
 
1252
- _react2.fireEvent.keyDown(input, {
1253
- key: "Esc",
1254
- code: "Esp",
1255
- keyCode: 27,
1256
- charCode: 27
1257
- });
1268
+ _react2.fireEvent.change(input, {
1269
+ target: {
1270
+ value: "+"
1271
+ }
1272
+ });
1258
1273
 
1259
- expect(input.value).toBe("");
1260
- expect(queryByRole("listbox")).toBeFalsy();
1274
+ expect(list).toBeTruthy();
1275
+ expect(getAllByText("+").length).toBe(1);
1261
1276
 
1262
- case 14:
1263
- case "end":
1264
- return _context16.stop();
1265
- }
1277
+ _react2.fireEvent.change(input, {
1278
+ target: {
1279
+ value: "?"
1266
1280
  }
1267
- }, _callee16);
1268
- })));
1281
+ });
1282
+
1283
+ expect(list).toBeTruthy();
1284
+ expect(getAllByText("?").length).toBe(1);
1285
+ });
1269
1286
  });
1270
1287
  describe("TextInput component asynchronous autosuggest tests", function () {
1271
- test("Autosuggest 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee17() {
1272
- var callbackFunc, onChange, _render36, getByRole, getByText, input;
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;
1273
1290
 
1274
- return _regenerator["default"].wrap(function _callee17$(_context17) {
1291
+ return _regenerator["default"].wrap(function _callee$(_context) {
1275
1292
  while (1) {
1276
- switch (_context17.prev = _context17.next) {
1293
+ switch (_context.prev = _context.next) {
1277
1294
  case 0:
1278
1295
  callbackFunc = jest.fn(function (newValue) {
1279
1296
  var result = new Promise(function (resolve) {
@@ -1286,17 +1303,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1286
1303
  return result;
1287
1304
  });
1288
1305
  onChange = jest.fn();
1289
- _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1306
+ _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1290
1307
  label: "Autosuggest Countries",
1291
1308
  suggestions: callbackFunc,
1292
1309
  onChange: onChange
1293
- })), getByRole = _render36.getByRole, getByText = _render36.getByText;
1310
+ })), getByRole = _render38.getByRole, getByText = _render38.getByText;
1294
1311
  input = getByRole("combobox");
1295
1312
 
1296
1313
  _react2.fireEvent.focus(input);
1297
1314
 
1298
1315
  expect(getByRole("listbox")).toBeTruthy();
1299
- _context17.next = 8;
1316
+ _context.next = 8;
1300
1317
  return (0, _react2.waitForElementToBeRemoved)(function () {
1301
1318
  return getByText("Searching...");
1302
1319
  });
@@ -1309,7 +1326,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1309
1326
 
1310
1327
  _userEvent["default"].type(input, "Ab");
1311
1328
 
1312
- _context17.next = 15;
1329
+ _context.next = 15;
1313
1330
  return (0, _react2.waitForElementToBeRemoved)(function () {
1314
1331
  return getByText("Searching...");
1315
1332
  });
@@ -1335,66 +1352,58 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1335
1352
 
1336
1353
  case 19:
1337
1354
  case "end":
1338
- return _context17.stop();
1355
+ return _context.stop();
1339
1356
  }
1340
1357
  }
1341
- }, _callee17);
1358
+ }, _callee);
1342
1359
  })));
1343
- test("Autosuggest Esc key works while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee18() {
1344
- var callbackFunc, onChange, _render37, getByRole, queryByText, queryByRole, input;
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();
1345
1372
 
1346
- return _regenerator["default"].wrap(function _callee18$(_context18) {
1347
- while (1) {
1348
- switch (_context18.prev = _context18.next) {
1349
- case 0:
1350
- callbackFunc = jest.fn(function (newValue) {
1351
- var result = new Promise(function (resolve) {
1352
- return setTimeout(function () {
1353
- resolve(newValue ? countries.filter(function (option) {
1354
- return option.toUpperCase().includes(newValue.toUpperCase());
1355
- }) : countries);
1356
- }, 100);
1357
- });
1358
- return result;
1359
- });
1360
- onChange = jest.fn();
1361
- _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1362
- label: "Autosuggest Countries",
1363
- suggestions: callbackFunc,
1364
- onChange: onChange
1365
- })), getByRole = _render37.getByRole, queryByText = _render37.queryByText, queryByRole = _render37.queryByRole;
1366
- 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;
1367
1381
 
1368
- _react2.fireEvent.focus(input);
1382
+ var input = getByRole("combobox");
1369
1383
 
1370
- expect(getByRole("listbox")).toBeTruthy();
1384
+ _react2.fireEvent.focus(input);
1371
1385
 
1372
- _userEvent["default"].type(input, "Ab");
1386
+ expect(getByRole("listbox")).toBeTruthy();
1373
1387
 
1374
- _react2.fireEvent.keyDown(input, {
1375
- key: "Esc",
1376
- code: "Esc",
1377
- keyCode: 27,
1378
- charCode: 27
1379
- });
1388
+ _userEvent["default"].type(input, "Ab");
1380
1389
 
1381
- expect(queryByRole("listbox")).toBeFalsy();
1382
- expect(queryByText("Searching...")).toBeFalsy();
1383
- expect(input.value).toBe("");
1390
+ _react2.fireEvent.keyDown(input, {
1391
+ key: "Esc",
1392
+ code: "Esc",
1393
+ keyCode: 27,
1394
+ charCode: 27
1395
+ });
1384
1396
 
1385
- case 11:
1386
- case "end":
1387
- return _context18.stop();
1388
- }
1389
- }
1390
- }, _callee18);
1391
- })));
1392
- test("Autosuggest Esc + arrow down working while 'Searching...' message is shown", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee19() {
1393
- var callbackFunc, onChange, _render38, 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;
1394
1403
 
1395
- return _regenerator["default"].wrap(function _callee19$(_context19) {
1404
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
1396
1405
  while (1) {
1397
- switch (_context19.prev = _context19.next) {
1406
+ switch (_context2.prev = _context2.next) {
1398
1407
  case 0:
1399
1408
  callbackFunc = jest.fn(function (newValue) {
1400
1409
  var result = new Promise(function (resolve) {
@@ -1407,11 +1416,11 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1407
1416
  return result;
1408
1417
  });
1409
1418
  onChange = jest.fn();
1410
- _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1419
+ _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1411
1420
  label: "Autosuggest Countries",
1412
1421
  suggestions: callbackFunc,
1413
1422
  onChange: onChange
1414
- })), getByRole = _render38.getByRole, getByText = _render38.getByText, queryByText = _render38.queryByText, queryByRole = _render38.queryByRole;
1423
+ })), getByRole = _render40.getByRole, getByText = _render40.getByText, queryByText = _render40.queryByText, queryByRole = _render40.queryByRole;
1415
1424
  input = getByRole("combobox");
1416
1425
 
1417
1426
  _react2.fireEvent.focus(input);
@@ -1440,7 +1449,7 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1440
1449
  });
1441
1450
 
1442
1451
  expect(list).toBeTruthy();
1443
- _context19.next = 16;
1452
+ _context2.next = 16;
1444
1453
  return (0, _react2.waitForElementToBeRemoved)(function () {
1445
1454
  return getByText("Searching...");
1446
1455
  });
@@ -1453,17 +1462,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1453
1462
 
1454
1463
  case 20:
1455
1464
  case "end":
1456
- return _context19.stop();
1465
+ return _context2.stop();
1457
1466
  }
1458
1467
  }
1459
- }, _callee19);
1468
+ }, _callee2);
1460
1469
  })));
1461
- test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee20() {
1462
- var callbackFunc, onChange, _render39, getByRole, getByText, input;
1470
+ test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
1471
+ var callbackFunc, onChange, _render41, getByRole, getByText, input;
1463
1472
 
1464
- return _regenerator["default"].wrap(function _callee20$(_context20) {
1473
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
1465
1474
  while (1) {
1466
- switch (_context20.prev = _context20.next) {
1475
+ switch (_context3.prev = _context3.next) {
1467
1476
  case 0:
1468
1477
  callbackFunc = jest.fn(function (newValue) {
1469
1478
  var result = new Promise(function (resolve) {
@@ -1476,18 +1485,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1476
1485
  return result;
1477
1486
  });
1478
1487
  onChange = jest.fn();
1479
- _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1488
+ _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1480
1489
  label: "Autosuggest Countries",
1481
1490
  onChange: onChange,
1482
1491
  suggestions: callbackFunc
1483
- })), getByRole = _render39.getByRole, getByText = _render39.getByText;
1492
+ })), getByRole = _render41.getByRole, getByText = _render41.getByText;
1484
1493
  input = getByRole("combobox");
1485
1494
 
1486
1495
  _react2.fireEvent.focus(input);
1487
1496
 
1488
1497
  _userEvent["default"].type(input, "Den");
1489
1498
 
1490
- _context20.next = 8;
1499
+ _context3.next = 8;
1491
1500
  return (0, _react2.waitForElementToBeRemoved)(function () {
1492
1501
  return getByText("Searching...");
1493
1502
  });
@@ -1504,17 +1513,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1504
1513
 
1505
1514
  case 12:
1506
1515
  case "end":
1507
- return _context20.stop();
1516
+ return _context3.stop();
1508
1517
  }
1509
1518
  }
1510
- }, _callee20);
1519
+ }, _callee3);
1511
1520
  })));
1512
- test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee21() {
1513
- var callbackFunc, onChange, _render40, getByRole, getByText, queryByRole, input;
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;
1514
1523
 
1515
- return _regenerator["default"].wrap(function _callee21$(_context21) {
1524
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
1516
1525
  while (1) {
1517
- switch (_context21.prev = _context21.next) {
1526
+ switch (_context4.prev = _context4.next) {
1518
1527
  case 0:
1519
1528
  callbackFunc = jest.fn(function (newValue) {
1520
1529
  var result = new Promise(function (resolve) {
@@ -1527,45 +1536,47 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1527
1536
  return result;
1528
1537
  });
1529
1538
  onChange = jest.fn();
1530
- _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1539
+ _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1531
1540
  label: "Autosuggest Countries",
1532
1541
  value: "Denm",
1533
1542
  onChange: onChange,
1534
1543
  suggestions: callbackFunc
1535
- })), getByRole = _render40.getByRole, getByText = _render40.getByText, queryByRole = _render40.queryByRole;
1544
+ })), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByRole = _render42.queryByRole;
1536
1545
  input = getByRole("combobox");
1546
+ expect(input.value).toBe("Denm");
1537
1547
 
1538
- _react2.fireEvent.focus(input);
1548
+ _userEvent["default"].click(getByText("Autosuggest Countries"));
1539
1549
 
1540
- _context21.next = 7;
1550
+ _context4.next = 8;
1541
1551
  return (0, _react2.waitForElementToBeRemoved)(function () {
1542
1552
  return getByText("Searching...");
1543
1553
  });
1544
1554
 
1545
- case 7:
1546
- expect(input.value).toBe("Denm");
1555
+ case 8:
1547
1556
  expect(getByText("Denmark")).toBeTruthy();
1548
1557
 
1549
- _userEvent["default"].click(getByRole("option"));
1558
+ _react2.fireEvent.focus(getByRole("option"));
1559
+
1560
+ _userEvent["default"].click(getByText("Denmark"));
1550
1561
 
1551
1562
  expect(onChange).toHaveBeenCalledWith({
1552
1563
  value: "Denmark"
1553
1564
  });
1554
1565
  expect(queryByRole("listbox")).toBeFalsy();
1555
1566
 
1556
- case 12:
1567
+ case 13:
1557
1568
  case "end":
1558
- return _context21.stop();
1569
+ return _context4.stop();
1559
1570
  }
1560
1571
  }
1561
- }, _callee21);
1572
+ }, _callee4);
1562
1573
  })));
1563
- test("Asynchronous autosuggest closes the listbox after finishing no matches search", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee22() {
1564
- var callbackFunc, onChange, _render41, getByText, getByRole, queryByRole, input;
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;
1565
1576
 
1566
- return _regenerator["default"].wrap(function _callee22$(_context22) {
1577
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
1567
1578
  while (1) {
1568
- switch (_context22.prev = _context22.next) {
1579
+ switch (_context5.prev = _context5.next) {
1569
1580
  case 0:
1570
1581
  callbackFunc = jest.fn(function (newValue) {
1571
1582
  var result = new Promise(function (resolve) {
@@ -1578,18 +1589,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1578
1589
  return result;
1579
1590
  });
1580
1591
  onChange = jest.fn();
1581
- _render41 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1592
+ _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1582
1593
  label: "Autosuggest Countries",
1583
1594
  onChange: onChange,
1584
1595
  suggestions: callbackFunc
1585
- })), getByText = _render41.getByText, getByRole = _render41.getByRole, queryByRole = _render41.queryByRole;
1596
+ })), getByText = _render43.getByText, getByRole = _render43.getByRole, queryByRole = _render43.queryByRole;
1586
1597
  input = getByRole("combobox");
1587
1598
 
1588
1599
  _react2.fireEvent.focus(input);
1589
1600
 
1590
1601
  _userEvent["default"].type(input, "Example text");
1591
1602
 
1592
- _context22.next = 8;
1603
+ _context5.next = 8;
1593
1604
  return (0, _react2.waitForElementToBeRemoved)(function () {
1594
1605
  return getByText("Searching...");
1595
1606
  });
@@ -1599,17 +1610,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1599
1610
 
1600
1611
  case 9:
1601
1612
  case "end":
1602
- return _context22.stop();
1613
+ return _context5.stop();
1603
1614
  }
1604
1615
  }
1605
- }, _callee22);
1616
+ }, _callee5);
1606
1617
  })));
1607
- test("Asynchronous autosuggest with no matches founded doesn't let the listbox to be opened", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee23() {
1608
- var callbackFunc, onChange, _render42, getByText, getByRole, queryByRole, input;
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;
1609
1620
 
1610
- return _regenerator["default"].wrap(function _callee23$(_context23) {
1621
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
1611
1622
  while (1) {
1612
- switch (_context23.prev = _context23.next) {
1623
+ switch (_context6.prev = _context6.next) {
1613
1624
  case 0:
1614
1625
  callbackFunc = jest.fn(function (newValue) {
1615
1626
  var result = new Promise(function (resolve) {
@@ -1622,18 +1633,18 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1622
1633
  return result;
1623
1634
  });
1624
1635
  onChange = jest.fn();
1625
- _render42 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1636
+ _render44 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1626
1637
  label: "Autosuggest Countries",
1627
1638
  onChange: onChange,
1628
1639
  suggestions: callbackFunc
1629
- })), getByText = _render42.getByText, getByRole = _render42.getByRole, queryByRole = _render42.queryByRole;
1640
+ })), getByText = _render44.getByText, getByRole = _render44.getByRole, queryByRole = _render44.queryByRole;
1630
1641
  input = getByRole("combobox");
1631
1642
 
1632
1643
  _react2.fireEvent.focus(input);
1633
1644
 
1634
1645
  _userEvent["default"].type(input, "wrong");
1635
1646
 
1636
- _context23.next = 8;
1647
+ _context6.next = 8;
1637
1648
  return (0, _react2.waitForElementToBeRemoved)(function () {
1638
1649
  return getByText("Searching...");
1639
1650
  });
@@ -1665,17 +1676,17 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1665
1676
 
1666
1677
  case 15:
1667
1678
  case "end":
1668
- return _context23.stop();
1679
+ return _context6.stop();
1669
1680
  }
1670
1681
  }
1671
- }, _callee23);
1682
+ }, _callee6);
1672
1683
  })));
1673
- test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee24() {
1674
- var errorCallbackFunc, onChange, _render43, getByRole, getByText, input;
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;
1675
1686
 
1676
- return _regenerator["default"].wrap(function _callee24$(_context24) {
1687
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
1677
1688
  while (1) {
1678
- switch (_context24.prev = _context24.next) {
1689
+ switch (_context7.prev = _context7.next) {
1679
1690
  case 0:
1680
1691
  errorCallbackFunc = jest.fn(function () {
1681
1692
  var result = new Promise(function (resolve, reject) {
@@ -1686,16 +1697,16 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1686
1697
  return result;
1687
1698
  });
1688
1699
  onChange = jest.fn();
1689
- _render43 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1700
+ _render45 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
1690
1701
  label: "Autosuggest Countries",
1691
1702
  onChange: onChange,
1692
1703
  suggestions: errorCallbackFunc
1693
- })), getByRole = _render43.getByRole, getByText = _render43.getByText;
1704
+ })), getByRole = _render45.getByRole, getByText = _render45.getByText;
1694
1705
  input = getByRole("combobox");
1695
1706
 
1696
1707
  _react2.fireEvent.focus(input);
1697
1708
 
1698
- _context24.next = 7;
1709
+ _context7.next = 7;
1699
1710
  return (0, _react2.waitForElementToBeRemoved)(function () {
1700
1711
  return getByText("Searching...");
1701
1712
  });
@@ -1705,9 +1716,9 @@ describe("TextInput component asynchronous autosuggest tests", function () {
1705
1716
 
1706
1717
  case 8:
1707
1718
  case "end":
1708
- return _context24.stop();
1719
+ return _context7.stop();
1709
1720
  }
1710
1721
  }
1711
- }, _callee24);
1722
+ }, _callee7);
1712
1723
  })));
1713
1724
  });