@patternfly/react-core 5.2.0-prerelease.30 → 5.2.0-prerelease.31
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/CHANGELOG.md +4 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/Chip/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/DragDrop/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
- package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
- package/dist/dynamic/deprecated/components/Select/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/favorites/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/esm/components/Toolbar/ToolbarToggleGroup.js +1 -1
- package/dist/esm/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.js +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarToggleGroup.js +1 -1
- package/dist/js/components/Toolbar/ToolbarToggleGroup.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.js +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/umd/react-core.min.js +1 -1
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Toolbar/ToolbarToggleGroup.tsx +1 -1
- package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +0 -1
- package/src/components/TreeView/TreeViewListItem.tsx +1 -1
- package/src/components/TreeView/__tests__/TreeView.test.tsx +295 -221
- package/src/components/TreeView/__tests__/TreeViewList.test.tsx +52 -0
- package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +708 -0
- package/src/components/TreeView/__tests__/TreeViewRoot.test.tsx +87 -0
- package/src/components/TreeView/__tests__/TreeViewSearch.test.tsx +93 -0
- package/src/components/TreeView/__tests__/__snapshots__/TreeView.test.tsx.snap +103 -3407
- package/src/components/TreeView/__tests__/__snapshots__/TreeViewList.test.tsx.snap +29 -0
- package/src/components/TreeView/__tests__/__snapshots__/TreeViewListItem.test.tsx.snap +83 -0
- package/src/components/TreeView/__tests__/__snapshots__/TreeViewRoot.test.tsx.snap +16 -0
- package/src/components/TreeView/__tests__/__snapshots__/TreeViewSearch.test.tsx.snap +38 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import { TreeViewRoot } from '../TreeViewRoot';
|
|
4
|
+
import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
|
|
5
|
+
|
|
6
|
+
test('Renders children', () => {
|
|
7
|
+
render(
|
|
8
|
+
<TreeViewRoot>
|
|
9
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
10
|
+
</TreeViewRoot>
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
expect(screen.getByText('Content')).toBeVisible();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test(`Renders with class ${styles.treeView} by default`, () => {
|
|
17
|
+
render(
|
|
18
|
+
<TreeViewRoot>
|
|
19
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
20
|
+
</TreeViewRoot>
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
expect(screen.getByText('Content').parentElement).toHaveClass(styles.treeView, { exact: true });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test(`Renders with custom class when className is passed`, () => {
|
|
27
|
+
render(
|
|
28
|
+
<TreeViewRoot className="test-class">
|
|
29
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
30
|
+
</TreeViewRoot>
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
expect(screen.getByText('Content').parentElement).toHaveClass('test-class');
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test(`Renders with class ${styles.modifiers.guides} when hasGuides is passed`, () => {
|
|
37
|
+
render(
|
|
38
|
+
<TreeViewRoot hasGuides>
|
|
39
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
40
|
+
</TreeViewRoot>
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
expect(screen.getByText('Content').parentElement).toHaveClass(styles.modifiers.guides);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test(`Does not render with additional classes when variant="default"`, () => {
|
|
47
|
+
render(
|
|
48
|
+
<TreeViewRoot variant="default">
|
|
49
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
50
|
+
</TreeViewRoot>
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
expect(screen.getByText('Content').parentElement).toHaveClass(styles.treeView, { exact: true });
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test(`Renders with class ${styles.modifiers.compact} when variant="compact"`, () => {
|
|
57
|
+
render(
|
|
58
|
+
<TreeViewRoot variant="compact">
|
|
59
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
60
|
+
</TreeViewRoot>
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
expect(screen.getByText('Content').parentElement).toHaveClass(styles.modifiers.compact);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
test(`Renders with classes ${styles.modifiers.compact} and ${styles.modifiers.noBackground} when variant="compactNoBackground"`, () => {
|
|
67
|
+
render(
|
|
68
|
+
<TreeViewRoot variant="compactNoBackground">
|
|
69
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
70
|
+
</TreeViewRoot>
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
expect(screen.getByText('Content').parentElement).toHaveClass(
|
|
74
|
+
styles.modifiers.compact,
|
|
75
|
+
styles.modifiers.noBackground
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
test('Matches snapshot', () => {
|
|
80
|
+
const { asFragment } = render(
|
|
81
|
+
<TreeViewRoot>
|
|
82
|
+
<div className={styles.treeViewNode}>Content</div>
|
|
83
|
+
</TreeViewRoot>
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
expect(asFragment()).toMatchSnapshot();
|
|
87
|
+
});
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import { TreeViewSearch } from '../TreeViewSearch';
|
|
4
|
+
import userEvent from '@testing-library/user-event';
|
|
5
|
+
import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
|
|
6
|
+
|
|
7
|
+
test(`Renders with ${styles.treeViewSearch} by default`, () => {
|
|
8
|
+
render(<TreeViewSearch />);
|
|
9
|
+
|
|
10
|
+
expect(screen.getByRole('searchbox').parentElement?.parentElement).toHaveClass(styles.treeViewSearch, {
|
|
11
|
+
exact: true
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
test(`Renders with custom class when className is passed`, () => {
|
|
16
|
+
render(<TreeViewSearch className="test-class" />);
|
|
17
|
+
|
|
18
|
+
expect(screen.getByRole('searchbox').parentElement?.parentElement).toHaveClass('test-class');
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test(`Renders with id when passed`, () => {
|
|
22
|
+
render(<TreeViewSearch id="test-id" />);
|
|
23
|
+
|
|
24
|
+
expect(screen.getByRole('searchbox')).toHaveAttribute('id', 'test-id');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test(`Does not render with id when it is not passed`, () => {
|
|
28
|
+
render(<TreeViewSearch />);
|
|
29
|
+
|
|
30
|
+
expect(screen.getByRole('searchbox')).not.toHaveAttribute('id');
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
test(`Renders with name when passed`, () => {
|
|
34
|
+
render(<TreeViewSearch name="testName" />);
|
|
35
|
+
|
|
36
|
+
expect(screen.getByRole('searchbox')).toHaveAttribute('name', 'testName');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test(`Does not render with name when it is not passed`, () => {
|
|
40
|
+
render(<TreeViewSearch />);
|
|
41
|
+
|
|
42
|
+
expect(screen.getByRole('searchbox')).not.toHaveAttribute('name');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test(`Renders with aria-label when passed`, () => {
|
|
46
|
+
render(<TreeViewSearch aria-label="test label" />);
|
|
47
|
+
|
|
48
|
+
expect(screen.getByRole('searchbox')).toHaveAccessibleName('test label');
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
test(`Does not render with aria-label when it is not passed`, () => {
|
|
52
|
+
render(<TreeViewSearch />);
|
|
53
|
+
|
|
54
|
+
expect(screen.getByRole('searchbox')).not.toHaveAccessibleName();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
test(`Spreads additional props`, () => {
|
|
58
|
+
render(<TreeViewSearch data-testprop="test-value" />);
|
|
59
|
+
|
|
60
|
+
expect(screen.getByRole('searchbox')).toHaveAttribute('data-testprop', 'test-value');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test(`Calls onSearch when input is typed into`, async () => {
|
|
64
|
+
const user = userEvent.setup();
|
|
65
|
+
const onSearchMock = jest.fn();
|
|
66
|
+
render(<TreeViewSearch onSearch={onSearchMock} />);
|
|
67
|
+
|
|
68
|
+
await user.type(screen.getByRole('searchbox'), 'a');
|
|
69
|
+
|
|
70
|
+
expect(onSearchMock).toHaveBeenCalledTimes(1);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test(`Does not call onSearch when input is not typed into`, async () => {
|
|
74
|
+
const user = userEvent.setup();
|
|
75
|
+
const onSearchMock = jest.fn();
|
|
76
|
+
|
|
77
|
+
render(
|
|
78
|
+
<>
|
|
79
|
+
<TreeViewSearch />
|
|
80
|
+
<input aria-label="native input" />
|
|
81
|
+
</>
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
await user.type(screen.getByRole('textbox'), 'a');
|
|
85
|
+
|
|
86
|
+
expect(onSearchMock).not.toHaveBeenCalled();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
test('Matches snapshot', () => {
|
|
90
|
+
const { asFragment } = render(<TreeViewSearch />);
|
|
91
|
+
|
|
92
|
+
expect(asFragment()).toMatchSnapshot();
|
|
93
|
+
});
|