@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.
- package/HalstackContext.js +7 -8
- package/accordion/types.d.ts +1 -0
- package/accordion-group/types.d.ts +1 -0
- package/box/types.d.ts +1 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +16 -16
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/types.d.ts +4 -0
- package/common/variables.js +129 -125
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +77 -222
- package/date-input/DateInput.stories.tsx +30 -17
- package/date-input/DateInput.test.js +411 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +160 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +115 -0
- package/date-input/types.d.ts +53 -0
- package/dialog/Dialog.js +4 -4
- package/dialog/Dialog.stories.tsx +56 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.js +37 -33
- package/dropdown/Dropdown.test.js +19 -25
- package/dropdown/DropdownMenuItem.js +1 -1
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +177 -219
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +31 -19
- package/flex/types.d.ts +14 -3
- package/footer/types.d.ts +1 -0
- package/header/types.d.ts +1 -0
- package/link/Link.js +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +7 -12
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.test.js +1 -1
- package/password-input/PasswordInput.test.js +13 -12
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +97 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +15 -13
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +23 -41
- package/resultsetTable/types.d.ts +2 -2
- package/select/Select.js +3 -1
- package/select/Select.stories.tsx +2 -5
- package/select/Select.test.js +267 -209
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +15 -11
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +2 -2
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +93 -82
- package/switch/Switch.test.js +26 -13
- package/switch/types.d.ts +6 -1
- package/table/Table.js +1 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tabs.js +3 -3
- package/tabs/Tabs.stories.tsx +0 -1
- package/tabs-nav/Tab.js +1 -1
- package/text-input/Suggestion.js +32 -5
- package/text-input/TextInput.js +165 -151
- package/text-input/TextInput.stories.tsx +6 -1
- package/text-input/TextInput.test.js +658 -647
- package/text-input/types.d.ts +5 -0
- 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",
|
|
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",
|
|
@@ -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
|
|
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 =
|
|
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
|
|
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 =
|
|
594
|
-
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
|
|
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 =
|
|
619
|
-
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",
|
|
637
|
-
var onChange
|
|
684
|
+
test("Autosuggest is displayed when the input gains focus", function () {
|
|
685
|
+
var onChange = jest.fn();
|
|
638
686
|
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
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
|
-
|
|
695
|
+
var input = getByRole("combobox");
|
|
652
696
|
|
|
653
|
-
|
|
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
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
})
|
|
667
|
-
test("Autosuggest is displayed when the user clicks the input",
|
|
668
|
-
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();
|
|
669
708
|
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
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
|
-
|
|
717
|
+
var input = getByRole("combobox");
|
|
683
718
|
|
|
684
|
-
|
|
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
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
})
|
|
698
|
-
test("Autosuggest is displayed while the user is writing (if closed previously, if it is open stays open)",
|
|
699
|
-
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();
|
|
700
730
|
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
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
|
-
|
|
741
|
+
var input = getByRole("combobox");
|
|
714
742
|
|
|
715
|
-
|
|
716
|
-
expect(list).toBeTruthy();
|
|
743
|
+
_react2.fireEvent.focus(input);
|
|
717
744
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
code: "Esc",
|
|
721
|
-
keyCode: 27,
|
|
722
|
-
charCode: 27
|
|
723
|
-
});
|
|
745
|
+
var list = getByRole("listbox");
|
|
746
|
+
expect(list).toBeTruthy();
|
|
724
747
|
|
|
725
|
-
|
|
748
|
+
_react2.fireEvent.keyDown(input, {
|
|
749
|
+
key: "Esc",
|
|
750
|
+
code: "Esc",
|
|
751
|
+
keyCode: 27,
|
|
752
|
+
charCode: 27
|
|
753
|
+
});
|
|
726
754
|
|
|
727
|
-
|
|
755
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
728
756
|
|
|
729
|
-
|
|
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
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
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
|
|
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 =
|
|
754
|
-
getByText =
|
|
755
|
-
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",
|
|
767
|
-
var onChange
|
|
789
|
+
test("Autosuggest is not displayed when prop suggestions is an empty array", function () {
|
|
790
|
+
var onChange = jest.fn();
|
|
768
791
|
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
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
|
-
|
|
799
|
+
var input = queryByRole("textbox");
|
|
782
800
|
|
|
783
|
-
|
|
801
|
+
_react2.fireEvent.focus(input);
|
|
784
802
|
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
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
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
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
|
-
|
|
817
|
+
var input = getByRole("combobox");
|
|
808
818
|
|
|
809
|
-
|
|
810
|
-
expect(list).toBeTruthy();
|
|
811
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
819
|
+
_react2.fireEvent.focus(input);
|
|
812
820
|
|
|
813
|
-
|
|
821
|
+
var list = getByRole("listbox");
|
|
822
|
+
expect(list).toBeTruthy();
|
|
823
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
814
824
|
|
|
815
|
-
|
|
825
|
+
_userEvent["default"].type(input, "x");
|
|
816
826
|
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
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
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
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
|
-
|
|
841
|
+
var input = getByRole("combobox");
|
|
840
842
|
|
|
841
|
-
|
|
842
|
-
expect(list).toBeTruthy();
|
|
843
|
-
expect(getByText("Afghanistan")).toBeTruthy();
|
|
843
|
+
_react2.fireEvent.focus(input);
|
|
844
844
|
|
|
845
|
-
|
|
845
|
+
var list = getByRole("listbox");
|
|
846
|
+
expect(list).toBeTruthy();
|
|
847
|
+
expect(getByText("Afghanistan")).toBeTruthy();
|
|
846
848
|
|
|
847
|
-
|
|
849
|
+
_userEvent["default"].type(input, "x");
|
|
848
850
|
|
|
849
|
-
|
|
851
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
850
852
|
|
|
851
|
-
|
|
853
|
+
_react2.fireEvent.focus(input);
|
|
852
854
|
|
|
853
|
-
|
|
854
|
-
key: "ArrowUp",
|
|
855
|
-
code: "ArrowUp",
|
|
856
|
-
keyCode: 38,
|
|
857
|
-
charCode: 38
|
|
858
|
-
});
|
|
855
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
859
856
|
|
|
860
|
-
|
|
857
|
+
_react2.fireEvent.keyDown(input, {
|
|
858
|
+
key: "ArrowUp",
|
|
859
|
+
code: "ArrowUp",
|
|
860
|
+
keyCode: 38,
|
|
861
|
+
charCode: 38
|
|
862
|
+
});
|
|
861
863
|
|
|
862
|
-
|
|
863
|
-
key: "ArrowDown",
|
|
864
|
-
code: "ArrowDown",
|
|
865
|
-
keyCode: 40,
|
|
866
|
-
charCode: 40
|
|
867
|
-
});
|
|
864
|
+
expect(queryByRole("listbox")).toBeFalsy();
|
|
868
865
|
|
|
869
|
-
|
|
866
|
+
_react2.fireEvent.keyDown(input, {
|
|
867
|
+
key: "ArrowDown",
|
|
868
|
+
code: "ArrowDown",
|
|
869
|
+
keyCode: 40,
|
|
870
|
+
charCode: 40
|
|
871
|
+
});
|
|
870
872
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
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
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
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
|
-
|
|
887
|
+
var input = getByRole("combobox");
|
|
894
888
|
|
|
895
|
-
|
|
889
|
+
_react2.fireEvent.focus(input);
|
|
896
890
|
|
|
897
|
-
|
|
898
|
-
expect(getByText("Alba")).toBeTruthy();
|
|
899
|
-
expect(getByText("nia")).toBeTruthy();
|
|
891
|
+
_userEvent["default"].type(input, "Alba");
|
|
900
892
|
|
|
901
|
-
|
|
893
|
+
expect(onChange).toHaveBeenCalled();
|
|
894
|
+
expect(getByText("Alba")).toBeTruthy();
|
|
895
|
+
expect(getByText("nia")).toBeTruthy();
|
|
902
896
|
|
|
903
|
-
|
|
904
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
897
|
+
_userEvent["default"].click(getByRole("option"));
|
|
905
898
|
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
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
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
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
|
-
|
|
915
|
+
var input = getByRole("combobox");
|
|
930
916
|
|
|
931
|
-
|
|
932
|
-
expect(getByText("Andor")).toBeTruthy();
|
|
933
|
-
expect(getByText("ra")).toBeTruthy();
|
|
917
|
+
_userEvent["default"].click(getByText("Autocomplete Countries"));
|
|
934
918
|
|
|
935
|
-
|
|
919
|
+
expect(input.value).toBe("Andor");
|
|
920
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
921
|
+
expect(getByText("ra")).toBeTruthy();
|
|
936
922
|
|
|
937
|
-
|
|
938
|
-
value: "Andorra"
|
|
939
|
-
});
|
|
940
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
923
|
+
_userEvent["default"].click(getByRole("option"));
|
|
941
924
|
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
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
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
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
|
-
|
|
944
|
+
var input = getByRole("combobox");
|
|
968
945
|
|
|
969
|
-
|
|
946
|
+
_react2.fireEvent.focus(input);
|
|
970
947
|
|
|
971
|
-
|
|
972
|
-
expect(getByText("ra")).toBeTruthy();
|
|
948
|
+
_userEvent["default"].type(input, "Andor");
|
|
973
949
|
|
|
974
|
-
|
|
950
|
+
expect(getByText("Andor")).toBeTruthy();
|
|
951
|
+
expect(getByText("ra")).toBeTruthy();
|
|
975
952
|
|
|
976
|
-
|
|
977
|
-
value: "Andorra",
|
|
978
|
-
error: "Please match the format requested."
|
|
979
|
-
});
|
|
953
|
+
_userEvent["default"].click(getByRole("option"));
|
|
980
954
|
|
|
981
|
-
|
|
955
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
956
|
+
value: "Andorra",
|
|
957
|
+
error: "Please match the format requested."
|
|
958
|
+
});
|
|
982
959
|
|
|
983
|
-
|
|
984
|
-
value: "Andorra",
|
|
985
|
-
error: "Please match the format requested."
|
|
986
|
-
});
|
|
960
|
+
_react2.fireEvent.blur(input);
|
|
987
961
|
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
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
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
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
|
-
|
|
982
|
+
var input = getByRole("combobox");
|
|
1015
983
|
|
|
1016
|
-
|
|
984
|
+
_react2.fireEvent.focus(input);
|
|
1017
985
|
|
|
1018
|
-
|
|
1019
|
-
expect(getByText("d")).toBeTruthy();
|
|
986
|
+
_userEvent["default"].type(input, "Cha");
|
|
1020
987
|
|
|
1021
|
-
|
|
988
|
+
expect(getByText("Cha")).toBeTruthy();
|
|
989
|
+
expect(getByText("d")).toBeTruthy();
|
|
1022
990
|
|
|
1023
|
-
|
|
1024
|
-
value: "Cha",
|
|
1025
|
-
error: "Min length 5, max length 10."
|
|
1026
|
-
});
|
|
991
|
+
_userEvent["default"].click(getByRole("option"));
|
|
1027
992
|
|
|
1028
|
-
|
|
993
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
994
|
+
value: "Cha",
|
|
995
|
+
error: "Min length 5, max length 10."
|
|
996
|
+
});
|
|
1029
997
|
|
|
1030
|
-
|
|
1031
|
-
value: "Chad",
|
|
1032
|
-
error: "Min length 5, max length 10."
|
|
1033
|
-
});
|
|
998
|
+
_react2.fireEvent.blur(input);
|
|
1034
999
|
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
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
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
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
|
-
|
|
1058
|
-
key: "ArrowDown",
|
|
1059
|
-
code: "ArrowDown",
|
|
1060
|
-
keyCode: 40,
|
|
1061
|
-
charCode: 40
|
|
1062
|
-
});
|
|
1016
|
+
var input = getByRole("combobox");
|
|
1063
1017
|
|
|
1064
|
-
|
|
1065
|
-
|
|
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
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
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
|
-
|
|
1075
|
-
expect(queryByRole("list")).toBeFalsy();
|
|
1140
|
+
var input = getByRole("combobox");
|
|
1076
1141
|
|
|
1077
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1146
|
+
_react2.fireEvent.keyDown(input, {
|
|
1147
|
+
key: "ArrowUp",
|
|
1148
|
+
code: "ArrowUp",
|
|
1149
|
+
keyCode: 38,
|
|
1150
|
+
charCode: 38
|
|
1151
|
+
});
|
|
1105
1152
|
|
|
1106
|
-
|
|
1107
|
-
|
|
1153
|
+
_react2.fireEvent.keyDown(input, {
|
|
1154
|
+
key: "ArrowUp",
|
|
1155
|
+
code: "ArrowUpp",
|
|
1156
|
+
keyCode: 38,
|
|
1157
|
+
charCode: 38
|
|
1158
|
+
});
|
|
1108
1159
|
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1160
|
+
_react2.fireEvent.keyDown(input, {
|
|
1161
|
+
key: "ArrowDown",
|
|
1162
|
+
code: "ArrowDown",
|
|
1163
|
+
keyCode: 40,
|
|
1164
|
+
charCode: 40
|
|
1165
|
+
});
|
|
1115
1166
|
|
|
1116
|
-
|
|
1117
|
-
|
|
1167
|
+
_react2.fireEvent.keyDown(input, {
|
|
1168
|
+
key: "Enter",
|
|
1169
|
+
code: "Enter",
|
|
1170
|
+
keyCode: 13,
|
|
1171
|
+
charCode: 13
|
|
1172
|
+
});
|
|
1118
1173
|
|
|
1119
|
-
|
|
1120
|
-
|
|
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
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1146
|
-
expect(list).toBeTruthy();
|
|
1199
|
+
var input = getByRole("combobox");
|
|
1147
1200
|
|
|
1148
|
-
|
|
1149
|
-
key: "Esc",
|
|
1150
|
-
code: "Esc",
|
|
1151
|
-
keyCode: 27,
|
|
1152
|
-
charCode: 27
|
|
1153
|
-
});
|
|
1201
|
+
_react2.fireEvent.focus(input);
|
|
1154
1202
|
|
|
1155
|
-
|
|
1156
|
-
expect(queryByRole("listbox")).toBeFalsy();
|
|
1203
|
+
var list = getByRole("listbox");
|
|
1157
1204
|
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
}
|
|
1205
|
+
_react2.fireEvent.change(input, {
|
|
1206
|
+
target: {
|
|
1207
|
+
value: "/"
|
|
1162
1208
|
}
|
|
1163
|
-
}
|
|
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
|
-
|
|
1169
|
-
|
|
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
|
-
|
|
1214
|
+
_react2.fireEvent.change(input, {
|
|
1215
|
+
target: {
|
|
1216
|
+
value: "\\"
|
|
1217
|
+
}
|
|
1218
|
+
});
|
|
1181
1219
|
|
|
1182
|
-
|
|
1183
|
-
|
|
1220
|
+
expect(list).toBeTruthy();
|
|
1221
|
+
expect(getAllByText("\\").length).toBe(1);
|
|
1184
1222
|
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
});
|
|
1223
|
+
_react2.fireEvent.change(input, {
|
|
1224
|
+
target: {
|
|
1225
|
+
value: "*"
|
|
1226
|
+
}
|
|
1227
|
+
});
|
|
1191
1228
|
|
|
1192
|
-
|
|
1193
|
-
|
|
1229
|
+
expect(list).toBeTruthy();
|
|
1230
|
+
expect(getAllByText("*").length).toBe(2);
|
|
1194
1231
|
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
}
|
|
1232
|
+
_react2.fireEvent.change(input, {
|
|
1233
|
+
target: {
|
|
1234
|
+
value: "("
|
|
1199
1235
|
}
|
|
1200
|
-
}
|
|
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
|
-
|
|
1238
|
+
expect(list).toBeTruthy();
|
|
1239
|
+
expect(getAllByText("(").length).toBe(1);
|
|
1218
1240
|
|
|
1219
|
-
|
|
1241
|
+
_react2.fireEvent.change(input, {
|
|
1242
|
+
target: {
|
|
1243
|
+
value: ")"
|
|
1244
|
+
}
|
|
1245
|
+
});
|
|
1220
1246
|
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
code: "ArrowUp",
|
|
1224
|
-
keyCode: 38,
|
|
1225
|
-
charCode: 38
|
|
1226
|
-
});
|
|
1247
|
+
expect(list).toBeTruthy();
|
|
1248
|
+
expect(getAllByText(")").length).toBe(1);
|
|
1227
1249
|
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
});
|
|
1250
|
+
_react2.fireEvent.change(input, {
|
|
1251
|
+
target: {
|
|
1252
|
+
value: "["
|
|
1253
|
+
}
|
|
1254
|
+
});
|
|
1234
1255
|
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
code: "ArrowDown",
|
|
1238
|
-
keyCode: 40,
|
|
1239
|
-
charCode: 40
|
|
1240
|
-
});
|
|
1256
|
+
expect(list).toBeTruthy();
|
|
1257
|
+
expect(getAllByText("[").length).toBe(1);
|
|
1241
1258
|
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
});
|
|
1259
|
+
_react2.fireEvent.change(input, {
|
|
1260
|
+
target: {
|
|
1261
|
+
value: "]"
|
|
1262
|
+
}
|
|
1263
|
+
});
|
|
1248
1264
|
|
|
1249
|
-
|
|
1250
|
-
|
|
1265
|
+
expect(list).toBeTruthy();
|
|
1266
|
+
expect(getAllByText("]").length).toBe(1);
|
|
1251
1267
|
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
});
|
|
1268
|
+
_react2.fireEvent.change(input, {
|
|
1269
|
+
target: {
|
|
1270
|
+
value: "+"
|
|
1271
|
+
}
|
|
1272
|
+
});
|
|
1258
1273
|
|
|
1259
|
-
|
|
1260
|
-
|
|
1274
|
+
expect(list).toBeTruthy();
|
|
1275
|
+
expect(getAllByText("+").length).toBe(1);
|
|
1261
1276
|
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
}
|
|
1277
|
+
_react2.fireEvent.change(input, {
|
|
1278
|
+
target: {
|
|
1279
|
+
value: "?"
|
|
1266
1280
|
}
|
|
1267
|
-
}
|
|
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
|
|
1272
|
-
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;
|
|
1273
1290
|
|
|
1274
|
-
return _regenerator["default"].wrap(function
|
|
1291
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
1275
1292
|
while (1) {
|
|
1276
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
1355
|
+
return _context.stop();
|
|
1339
1356
|
}
|
|
1340
1357
|
}
|
|
1341
|
-
},
|
|
1358
|
+
}, _callee);
|
|
1342
1359
|
})));
|
|
1343
|
-
test("Autosuggest Esc key works while 'Searching...' message is shown",
|
|
1344
|
-
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();
|
|
1345
1372
|
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
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
|
-
|
|
1382
|
+
var input = getByRole("combobox");
|
|
1369
1383
|
|
|
1370
|
-
|
|
1384
|
+
_react2.fireEvent.focus(input);
|
|
1371
1385
|
|
|
1372
|
-
|
|
1386
|
+
expect(getByRole("listbox")).toBeTruthy();
|
|
1373
1387
|
|
|
1374
|
-
|
|
1375
|
-
key: "Esc",
|
|
1376
|
-
code: "Esc",
|
|
1377
|
-
keyCode: 27,
|
|
1378
|
-
charCode: 27
|
|
1379
|
-
});
|
|
1388
|
+
_userEvent["default"].type(input, "Ab");
|
|
1380
1389
|
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1390
|
+
_react2.fireEvent.keyDown(input, {
|
|
1391
|
+
key: "Esc",
|
|
1392
|
+
code: "Esc",
|
|
1393
|
+
keyCode: 27,
|
|
1394
|
+
charCode: 27
|
|
1395
|
+
});
|
|
1384
1396
|
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
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
|
|
1404
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
1396
1405
|
while (1) {
|
|
1397
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
1465
|
+
return _context2.stop();
|
|
1457
1466
|
}
|
|
1458
1467
|
}
|
|
1459
|
-
},
|
|
1468
|
+
}, _callee2);
|
|
1460
1469
|
})));
|
|
1461
|
-
test("Asynchronous uncontrolled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1462
|
-
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;
|
|
1463
1472
|
|
|
1464
|
-
return _regenerator["default"].wrap(function
|
|
1473
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
1465
1474
|
while (1) {
|
|
1466
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
1516
|
+
return _context3.stop();
|
|
1508
1517
|
}
|
|
1509
1518
|
}
|
|
1510
|
-
},
|
|
1519
|
+
}, _callee3);
|
|
1511
1520
|
})));
|
|
1512
|
-
test("Asynchronous controlled autosuggest test", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1513
|
-
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;
|
|
1514
1523
|
|
|
1515
|
-
return _regenerator["default"].wrap(function
|
|
1524
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
1516
1525
|
while (1) {
|
|
1517
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
1544
|
+
})), getByRole = _render42.getByRole, getByText = _render42.getByText, queryByRole = _render42.queryByRole;
|
|
1536
1545
|
input = getByRole("combobox");
|
|
1546
|
+
expect(input.value).toBe("Denm");
|
|
1537
1547
|
|
|
1538
|
-
|
|
1548
|
+
_userEvent["default"].click(getByText("Autosuggest Countries"));
|
|
1539
1549
|
|
|
1540
|
-
|
|
1550
|
+
_context4.next = 8;
|
|
1541
1551
|
return (0, _react2.waitForElementToBeRemoved)(function () {
|
|
1542
1552
|
return getByText("Searching...");
|
|
1543
1553
|
});
|
|
1544
1554
|
|
|
1545
|
-
case
|
|
1546
|
-
expect(input.value).toBe("Denm");
|
|
1555
|
+
case 8:
|
|
1547
1556
|
expect(getByText("Denmark")).toBeTruthy();
|
|
1548
1557
|
|
|
1549
|
-
|
|
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
|
|
1567
|
+
case 13:
|
|
1557
1568
|
case "end":
|
|
1558
|
-
return
|
|
1569
|
+
return _context4.stop();
|
|
1559
1570
|
}
|
|
1560
1571
|
}
|
|
1561
|
-
},
|
|
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
|
|
1564
|
-
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;
|
|
1565
1576
|
|
|
1566
|
-
return _regenerator["default"].wrap(function
|
|
1577
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
1567
1578
|
while (1) {
|
|
1568
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
1613
|
+
return _context5.stop();
|
|
1603
1614
|
}
|
|
1604
1615
|
}
|
|
1605
|
-
},
|
|
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
|
|
1608
|
-
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;
|
|
1609
1620
|
|
|
1610
|
-
return _regenerator["default"].wrap(function
|
|
1621
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
1611
1622
|
while (1) {
|
|
1612
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
1679
|
+
return _context6.stop();
|
|
1669
1680
|
}
|
|
1670
1681
|
}
|
|
1671
|
-
},
|
|
1682
|
+
}, _callee6);
|
|
1672
1683
|
})));
|
|
1673
|
-
test("Asynchronous autosuggest request failed, shows 'Error fetching data' message", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
1674
|
-
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;
|
|
1675
1686
|
|
|
1676
|
-
return _regenerator["default"].wrap(function
|
|
1687
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
1677
1688
|
while (1) {
|
|
1678
|
-
switch (
|
|
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
|
-
|
|
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 =
|
|
1704
|
+
})), getByRole = _render45.getByRole, getByText = _render45.getByText;
|
|
1694
1705
|
input = getByRole("combobox");
|
|
1695
1706
|
|
|
1696
1707
|
_react2.fireEvent.focus(input);
|
|
1697
1708
|
|
|
1698
|
-
|
|
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
|
|
1719
|
+
return _context7.stop();
|
|
1709
1720
|
}
|
|
1710
1721
|
}
|
|
1711
|
-
},
|
|
1722
|
+
}, _callee7);
|
|
1712
1723
|
})));
|
|
1713
1724
|
});
|