@siemens/ix 0.0.0-pr-1974-20250627115746 → 0.0.0-pr-1974-20250627142646
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/package.json +2 -2
- package/dist/collection/components/application-header/test/application-header.ct.js +0 -389
- package/dist/collection/components/application-header/test/application-header.ct.js.map +0 -1
- package/dist/collection/components/avatar/test/avatar.ct.js +0 -85
- package/dist/collection/components/avatar/test/avatar.ct.js.map +0 -1
- package/dist/collection/components/blind/test/blind.ct.js +0 -16
- package/dist/collection/components/blind/test/blind.ct.js.map +0 -1
- package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js +0 -98
- package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +0 -1
- package/dist/collection/components/button/test/button.ct.js +0 -153
- package/dist/collection/components/button/test/button.ct.js.map +0 -1
- package/dist/collection/components/category-filter/test/category-filter.ct.js +0 -62
- package/dist/collection/components/category-filter/test/category-filter.ct.js.map +0 -1
- package/dist/collection/components/checkbox/tests/checkbox.ct.js +0 -86
- package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +0 -1
- package/dist/collection/components/checkbox-group/test/checkbox-group.ct.js +0 -48
- package/dist/collection/components/checkbox-group/test/checkbox-group.ct.js.map +0 -1
- package/dist/collection/components/chip/test/chip.ct.js +0 -76
- package/dist/collection/components/chip/test/chip.ct.js.map +0 -1
- package/dist/collection/components/custom-field/tests/custom-field.ct.js +0 -68
- package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +0 -1
- package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +0 -215
- package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +0 -1
- package/dist/collection/components/date-input/tests/date-input.ct.js +0 -117
- package/dist/collection/components/date-input/tests/date-input.ct.js.map +0 -1
- package/dist/collection/components/date-picker/test/date-picker.ct.js +0 -221
- package/dist/collection/components/date-picker/test/date-picker.ct.js.map +0 -1
- package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js +0 -55
- package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js.map +0 -1
- package/dist/collection/components/drawer/test/drawer.ct.js +0 -67
- package/dist/collection/components/drawer/test/drawer.ct.js.map +0 -1
- package/dist/collection/components/dropdown/test/dropdown.ct.js +0 -624
- package/dist/collection/components/dropdown/test/dropdown.ct.js.map +0 -1
- package/dist/collection/components/dropdown-button/dropdown-button.ct.js +0 -51
- package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +0 -1
- package/dist/collection/components/event-list/test/event-list.ct.js +0 -88
- package/dist/collection/components/event-list/test/event-list.ct.js.map +0 -1
- package/dist/collection/components/expanding-search/test/expanding-search.ct.js +0 -56
- package/dist/collection/components/expanding-search/test/expanding-search.ct.js.map +0 -1
- package/dist/collection/components/field-label/tests/field-label.ct.js +0 -121
- package/dist/collection/components/field-label/tests/field-label.ct.js.map +0 -1
- package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js +0 -63
- package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js.map +0 -1
- package/dist/collection/components/flip-tile/test/flip-tile.ct.js +0 -89
- package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +0 -1
- package/dist/collection/components/group/test/group.ct.js +0 -115
- package/dist/collection/components/group/test/group.ct.js.map +0 -1
- package/dist/collection/components/icon-button/test/icon-button.ct.js +0 -30
- package/dist/collection/components/icon-button/test/icon-button.ct.js.map +0 -1
- package/dist/collection/components/input/tests/form-ready.ct.js +0 -73
- package/dist/collection/components/input/tests/form-ready.ct.js.map +0 -1
- package/dist/collection/components/input/tests/validation.ct.js +0 -84
- package/dist/collection/components/input/tests/validation.ct.js.map +0 -1
- package/dist/collection/components/input-group/tests/input-group.ct.js +0 -161
- package/dist/collection/components/input-group/tests/input-group.ct.js.map +0 -1
- package/dist/collection/components/menu/test/menu.ct.js +0 -256
- package/dist/collection/components/menu/test/menu.ct.js.map +0 -1
- package/dist/collection/components/menu-about/test/menu-about.ct.js +0 -65
- package/dist/collection/components/menu-about/test/menu-about.ct.js.map +0 -1
- package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js +0 -47
- package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js.map +0 -1
- package/dist/collection/components/menu-category/test/menu-category.ct.js +0 -274
- package/dist/collection/components/menu-category/test/menu-category.ct.js.map +0 -1
- package/dist/collection/components/menu-item/test/menu-item.ct.js +0 -67
- package/dist/collection/components/menu-item/test/menu-item.ct.js.map +0 -1
- package/dist/collection/components/menu-settings/test/menu-settings.ct.js +0 -32
- package/dist/collection/components/menu-settings/test/menu-settings.ct.js.map +0 -1
- package/dist/collection/components/message-bar/test/message-bar.ct.js +0 -28
- package/dist/collection/components/message-bar/test/message-bar.ct.js.map +0 -1
- package/dist/collection/components/modal/test/modal.ct.js +0 -204
- package/dist/collection/components/modal/test/modal.ct.js.map +0 -1
- package/dist/collection/components/pagination/test/pagination.ct.js +0 -68
- package/dist/collection/components/pagination/test/pagination.ct.js.map +0 -1
- package/dist/collection/components/pane/test/panes.ct.js +0 -59
- package/dist/collection/components/pane/test/panes.ct.js.map +0 -1
- package/dist/collection/components/pane-layout/test/pane-layout.ct.js +0 -60
- package/dist/collection/components/pane-layout/test/pane-layout.ct.js.map +0 -1
- package/dist/collection/components/pill/test/pill.ct.js +0 -63
- package/dist/collection/components/pill/test/pill.ct.js.map +0 -1
- package/dist/collection/components/radio/test/radio.ct.js +0 -77
- package/dist/collection/components/radio/test/radio.ct.js.map +0 -1
- package/dist/collection/components/radio-group/test/radio-group.ct.js +0 -117
- package/dist/collection/components/radio-group/test/radio-group.ct.js.map +0 -1
- package/dist/collection/components/select/test/select-keyboard.ct.js +0 -380
- package/dist/collection/components/select/test/select-keyboard.ct.js.map +0 -1
- package/dist/collection/components/select/test/select.ct.js +0 -594
- package/dist/collection/components/select/test/select.ct.js.map +0 -1
- package/dist/collection/components/slider/test/slider.ct.js +0 -65
- package/dist/collection/components/slider/test/slider.ct.js.map +0 -1
- package/dist/collection/components/tabs/test/tabs.ct.js +0 -134
- package/dist/collection/components/tabs/test/tabs.ct.js.map +0 -1
- package/dist/collection/components/time-input/test/time-input.ct.js +0 -62
- package/dist/collection/components/time-input/test/time-input.ct.js.map +0 -1
- package/dist/collection/components/time-picker/test/time-picker.ct.js +0 -172
- package/dist/collection/components/time-picker/test/time-picker.ct.js.map +0 -1
- package/dist/collection/components/toggle/test/toggle.ct.js +0 -84
- package/dist/collection/components/toggle/test/toggle.ct.js.map +0 -1
- package/dist/collection/components/tooltip/test/tooltip.ct.js +0 -243
- package/dist/collection/components/tooltip/test/tooltip.ct.js.map +0 -1
- package/dist/collection/components/tree/test/tree.ct.js +0 -355
- package/dist/collection/components/tree/test/tree.ct.js.map +0 -1
- package/dist/collection/components/upload/test/upload.ct.js +0 -17
- package/dist/collection/components/upload/test/upload.ct.js.map +0 -1
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +0 -74
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +0 -1
- package/dist/collection/tests/utils/test/matchMedia.mock.js +0 -22
- package/dist/types/components/application-header/test/application-header.ct.d.ts +0 -1
- package/dist/types/components/avatar/test/avatar.ct.d.ts +0 -1
- package/dist/types/components/blind/test/blind.ct.d.ts +0 -1
- package/dist/types/components/breadcrumb/test/breadcrumb.ct.d.ts +0 -1
- package/dist/types/components/button/test/button.ct.d.ts +0 -7
- package/dist/types/components/category-filter/test/category-filter.ct.d.ts +0 -1
- package/dist/types/components/checkbox/tests/checkbox.ct.d.ts +0 -1
- package/dist/types/components/checkbox-group/test/checkbox-group.ct.d.ts +0 -1
- package/dist/types/components/chip/test/chip.ct.d.ts +0 -1
- package/dist/types/components/custom-field/tests/custom-field.ct.d.ts +0 -1
- package/dist/types/components/date-dropdown/test/date-dropdown.ct.d.ts +0 -1
- package/dist/types/components/date-input/tests/date-input.ct.d.ts +0 -1
- package/dist/types/components/date-picker/test/date-picker.ct.d.ts +0 -1
- package/dist/types/components/datetime-picker/test/datetime-picker.ct.d.ts +0 -1
- package/dist/types/components/drawer/test/drawer.ct.d.ts +0 -1
- package/dist/types/components/dropdown/test/dropdown.ct.d.ts +0 -1
- package/dist/types/components/dropdown-button/dropdown-button.ct.d.ts +0 -1
- package/dist/types/components/event-list/test/event-list.ct.d.ts +0 -1
- package/dist/types/components/expanding-search/test/expanding-search.ct.d.ts +0 -1
- package/dist/types/components/field-label/tests/field-label.ct.d.ts +0 -1
- package/dist/types/components/field-wrapper/tests/field-wrapper.ct.d.ts +0 -1
- package/dist/types/components/flip-tile/test/flip-tile.ct.d.ts +0 -1
- package/dist/types/components/group/test/group.ct.d.ts +0 -1
- package/dist/types/components/icon-button/test/icon-button.ct.d.ts +0 -1
- package/dist/types/components/input/tests/form-ready.ct.d.ts +0 -1
- package/dist/types/components/input/tests/validation.ct.d.ts +0 -1
- package/dist/types/components/input-group/tests/input-group.ct.d.ts +0 -1
- package/dist/types/components/menu/test/menu.ct.d.ts +0 -1
- package/dist/types/components/menu-about/test/menu-about.ct.d.ts +0 -1
- package/dist/types/components/menu-avatar-item/test/menu-avatar-item.ct.d.ts +0 -1
- package/dist/types/components/menu-category/test/menu-category.ct.d.ts +0 -1
- package/dist/types/components/menu-item/test/menu-item.ct.d.ts +0 -1
- package/dist/types/components/menu-settings/test/menu-settings.ct.d.ts +0 -1
- package/dist/types/components/message-bar/test/message-bar.ct.d.ts +0 -1
- package/dist/types/components/modal/test/modal.ct.d.ts +0 -8
- package/dist/types/components/pagination/test/pagination.ct.d.ts +0 -1
- package/dist/types/components/pane/test/panes.ct.d.ts +0 -1
- package/dist/types/components/pane-layout/test/pane-layout.ct.d.ts +0 -1
- package/dist/types/components/pill/test/pill.ct.d.ts +0 -1
- package/dist/types/components/radio/test/radio.ct.d.ts +0 -1
- package/dist/types/components/radio-group/test/radio-group.ct.d.ts +0 -1
- package/dist/types/components/select/test/select-keyboard.ct.d.ts +0 -1
- package/dist/types/components/select/test/select.ct.d.ts +0 -1
- package/dist/types/components/slider/test/slider.ct.d.ts +0 -1
- package/dist/types/components/tabs/test/tabs.ct.d.ts +0 -1
- package/dist/types/components/time-input/test/time-input.ct.d.ts +0 -1
- package/dist/types/components/time-picker/test/time-picker.ct.d.ts +0 -1
- package/dist/types/components/toggle/test/toggle.ct.d.ts +0 -1
- package/dist/types/components/tooltip/test/tooltip.ct.d.ts +0 -1
- package/dist/types/components/tree/test/tree.ct.d.ts +0 -1
- package/dist/types/components/upload/test/upload.ct.d.ts +0 -1
- package/dist/types/components/workflow-steps/test/workflow-steps.ct.d.ts +0 -1
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: 2023 Siemens AG
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: MIT
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
import { expect } from "@playwright/test";
|
|
10
|
-
import { regressionTest } from "../../../tests/utils/test/index";
|
|
11
|
-
regressionTest('renders', async ({ mount, page }) => {
|
|
12
|
-
await mount(`
|
|
13
|
-
<ix-flip-tile state="none">
|
|
14
|
-
<div slot="header">Flip header</div>
|
|
15
|
-
<div slot="footer">
|
|
16
|
-
Some footer content
|
|
17
|
-
</div>
|
|
18
|
-
<ix-flip-tile-content>Example 1</ix-flip-tile-content>
|
|
19
|
-
<ix-flip-tile-content>Example 2</ix-flip-tile-content>
|
|
20
|
-
</ix-flip-tile>
|
|
21
|
-
`);
|
|
22
|
-
const flipElement = page.locator('ix-flip-tile');
|
|
23
|
-
const flipContentOneElement = flipElement
|
|
24
|
-
.locator('ix-flip-tile-content')
|
|
25
|
-
.nth(0);
|
|
26
|
-
const flipContentTwoElement = flipElement
|
|
27
|
-
.locator('ix-flip-tile-content')
|
|
28
|
-
.nth(1);
|
|
29
|
-
await expect(flipElement).toHaveClass(/hydrated/);
|
|
30
|
-
await expect(flipContentOneElement).toBeVisible();
|
|
31
|
-
await expect(flipContentTwoElement).not.toBeVisible();
|
|
32
|
-
});
|
|
33
|
-
regressionTest('should change content', async ({ mount, page }) => {
|
|
34
|
-
await mount(`
|
|
35
|
-
<ix-flip-tile state="none">
|
|
36
|
-
<div slot="header">Flip header</div>
|
|
37
|
-
<div slot="footer">
|
|
38
|
-
Some footer content
|
|
39
|
-
</div>
|
|
40
|
-
<ix-flip-tile-content>Example 1</ix-flip-tile-content>
|
|
41
|
-
<ix-flip-tile-content>Example 2</ix-flip-tile-content>
|
|
42
|
-
</ix-flip-tile>
|
|
43
|
-
`);
|
|
44
|
-
const flipElement = page.locator('ix-flip-tile');
|
|
45
|
-
const flipButton = flipElement.locator('.flip-tile-header ix-icon-button');
|
|
46
|
-
await flipButton.click();
|
|
47
|
-
const flipContentOneElement = flipElement
|
|
48
|
-
.locator('ix-flip-tile-content')
|
|
49
|
-
.nth(0);
|
|
50
|
-
const flipContentTwoElement = flipElement
|
|
51
|
-
.locator('ix-flip-tile-content')
|
|
52
|
-
.nth(1);
|
|
53
|
-
await expect(flipElement).toHaveClass(/hydrated/);
|
|
54
|
-
await expect(flipContentOneElement).not.toBeVisible();
|
|
55
|
-
await expect(flipContentTwoElement).toBeVisible();
|
|
56
|
-
});
|
|
57
|
-
regressionTest('change index programmatically', async ({ mount, page }) => {
|
|
58
|
-
await mount(`
|
|
59
|
-
<ix-flip-tile>
|
|
60
|
-
<ix-flip-tile-content>Page 1</ix-flip-tile-content>
|
|
61
|
-
<ix-flip-tile-content>Page 2</ix-flip-tile-content>
|
|
62
|
-
</ix-flip-tile`);
|
|
63
|
-
const flipTile = page.locator('ix-flip-tile');
|
|
64
|
-
await expect(flipTile).toHaveClass(/hydrated/);
|
|
65
|
-
await flipTile.evaluate((d) => (d.index = 1));
|
|
66
|
-
const pageOne = flipTile.locator('ix-flip-tile-content').nth(0);
|
|
67
|
-
const pageTwo = flipTile.locator('ix-flip-tile-content').nth(1);
|
|
68
|
-
await expect(pageOne).not.toBeVisible();
|
|
69
|
-
await expect(pageTwo).toBeVisible();
|
|
70
|
-
});
|
|
71
|
-
regressionTest('toggle - prevent default', async ({ mount, page }) => {
|
|
72
|
-
await mount(`
|
|
73
|
-
<ix-flip-tile>
|
|
74
|
-
<ix-flip-tile-content>Page 1</ix-flip-tile-content>
|
|
75
|
-
<ix-flip-tile-content>Page 2</ix-flip-tile-content>
|
|
76
|
-
</ix-flip-tile`);
|
|
77
|
-
const flipTile = page.locator('ix-flip-tile');
|
|
78
|
-
await expect(flipTile).toHaveClass(/hydrated/);
|
|
79
|
-
await flipTile.evaluate((d) => d.addEventListener('toggle', (event) => {
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
}));
|
|
82
|
-
await flipTile.locator('ix-icon-button').click();
|
|
83
|
-
await flipTile.evaluate((d) => (d.index = 1));
|
|
84
|
-
const pageOne = flipTile.locator('ix-flip-tile-content').nth(0);
|
|
85
|
-
const pageTwo = flipTile.locator('ix-flip-tile-content').nth(1);
|
|
86
|
-
await expect(pageOne).toBeVisible();
|
|
87
|
-
await expect(pageTwo).not.toBeVisible();
|
|
88
|
-
});
|
|
89
|
-
//# sourceMappingURL=flip-tile.ct.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flip-tile.ct.js","sourceRoot":"","sources":["../../../../src/components/flip-tile/test/flip-tile.ct.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-flip-tile state=\"none\">\n <div slot=\"header\">Flip header</div>\n <div slot=\"footer\">\n Some footer content\n </div>\n <ix-flip-tile-content>Example 1</ix-flip-tile-content>\n <ix-flip-tile-content>Example 2</ix-flip-tile-content>\n </ix-flip-tile>\n `);\n const flipElement = page.locator('ix-flip-tile');\n\n const flipContentOneElement = flipElement\n .locator('ix-flip-tile-content')\n .nth(0);\n const flipContentTwoElement = flipElement\n .locator('ix-flip-tile-content')\n .nth(1);\n await expect(flipElement).toHaveClass(/hydrated/);\n await expect(flipContentOneElement).toBeVisible();\n await expect(flipContentTwoElement).not.toBeVisible();\n});\n\nregressionTest('should change content', async ({ mount, page }) => {\n await mount(`\n <ix-flip-tile state=\"none\">\n <div slot=\"header\">Flip header</div>\n <div slot=\"footer\">\n Some footer content\n </div>\n <ix-flip-tile-content>Example 1</ix-flip-tile-content>\n <ix-flip-tile-content>Example 2</ix-flip-tile-content>\n </ix-flip-tile>\n `);\n const flipElement = page.locator('ix-flip-tile');\n\n const flipButton = flipElement.locator('.flip-tile-header ix-icon-button');\n await flipButton.click();\n\n const flipContentOneElement = flipElement\n .locator('ix-flip-tile-content')\n .nth(0);\n const flipContentTwoElement = flipElement\n .locator('ix-flip-tile-content')\n .nth(1);\n await expect(flipElement).toHaveClass(/hydrated/);\n await expect(flipContentOneElement).not.toBeVisible();\n await expect(flipContentTwoElement).toBeVisible();\n});\n\nregressionTest('change index programmatically', async ({ mount, page }) => {\n await mount(`\n <ix-flip-tile>\n <ix-flip-tile-content>Page 1</ix-flip-tile-content>\n <ix-flip-tile-content>Page 2</ix-flip-tile-content>\n </ix-flip-tile`);\n const flipTile = page.locator('ix-flip-tile');\n await expect(flipTile).toHaveClass(/hydrated/);\n await flipTile.evaluate((d: HTMLIxFlipTileElement) => (d.index = 1));\n const pageOne = flipTile.locator('ix-flip-tile-content').nth(0);\n const pageTwo = flipTile.locator('ix-flip-tile-content').nth(1);\n await expect(pageOne).not.toBeVisible();\n await expect(pageTwo).toBeVisible();\n});\n\nregressionTest('toggle - prevent default', async ({ mount, page }) => {\n await mount(`\n <ix-flip-tile>\n <ix-flip-tile-content>Page 1</ix-flip-tile-content>\n <ix-flip-tile-content>Page 2</ix-flip-tile-content>\n </ix-flip-tile`);\n const flipTile = page.locator('ix-flip-tile');\n await expect(flipTile).toHaveClass(/hydrated/);\n await flipTile.evaluate((d: HTMLIxFlipTileElement) =>\n d.addEventListener('toggle', (event) => {\n event.preventDefault();\n })\n );\n await flipTile.locator('ix-icon-button').click();\n await flipTile.evaluate((d: HTMLIxFlipTileElement) => (d.index = 1));\n const pageOne = flipTile.locator('ix-flip-tile-content').nth(0);\n const pageTwo = flipTile.locator('ix-flip-tile-content').nth(1);\n await expect(pageOne).toBeVisible();\n await expect(pageTwo).not.toBeVisible();\n});\n"]}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: MIT
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
import { expect } from "@playwright/test";
|
|
10
|
-
import { regressionTest } from "../../../tests/utils/test/index";
|
|
11
|
-
regressionTest('renders', async ({ mount, page }) => {
|
|
12
|
-
await mount(`<ix-group></ix-group>`);
|
|
13
|
-
const group = page.locator('ix-group');
|
|
14
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
15
|
-
});
|
|
16
|
-
regressionTest('hide expand icon initial', async ({ mount, page }) => {
|
|
17
|
-
await mount(`
|
|
18
|
-
<ix-group>
|
|
19
|
-
</ix-group>
|
|
20
|
-
`);
|
|
21
|
-
const group = page.locator('ix-group');
|
|
22
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
23
|
-
const expandIcon = group.getByTestId('expand-collapsed-icon');
|
|
24
|
-
await expect(expandIcon).not.toBeVisible();
|
|
25
|
-
await group.evaluate((group) => {
|
|
26
|
-
const item = document.createElement('ix-group-item');
|
|
27
|
-
group.appendChild(item);
|
|
28
|
-
});
|
|
29
|
-
await expect(expandIcon).toBeVisible();
|
|
30
|
-
});
|
|
31
|
-
regressionTest('show expand icon initial', async ({ mount, page }) => {
|
|
32
|
-
await mount(`
|
|
33
|
-
<ix-group>
|
|
34
|
-
<ix-group-item>Item 1</ix-group-item>
|
|
35
|
-
</ix-group>
|
|
36
|
-
`);
|
|
37
|
-
const group = page.locator('ix-group');
|
|
38
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
39
|
-
const expandIcon = group.getByTestId('expand-collapsed-icon');
|
|
40
|
-
await expect(expandIcon).toBeVisible();
|
|
41
|
-
await group.evaluate((group) => {
|
|
42
|
-
const item = group.querySelector('ix-group-item');
|
|
43
|
-
if (item) {
|
|
44
|
-
item.remove();
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
await expect(expandIcon).not.toBeVisible();
|
|
48
|
-
});
|
|
49
|
-
regressionTest('suppress selection should not stop event propagation', async ({ mount, page }) => {
|
|
50
|
-
await mount(`
|
|
51
|
-
<ix-group>
|
|
52
|
-
<ix-group-item suppress-selection>Item 1</ix-group-item>
|
|
53
|
-
<ix-group-item>Item 2</ix-group-item>
|
|
54
|
-
</ix-group>
|
|
55
|
-
`);
|
|
56
|
-
const group = page.locator('ix-group');
|
|
57
|
-
const expandIcon = group.getByTestId('expand-collapsed-icon');
|
|
58
|
-
await expandIcon.click();
|
|
59
|
-
const groupItem = page.locator('ix-group-item').first();
|
|
60
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
61
|
-
await groupItem.evaluate((item) => {
|
|
62
|
-
item.addEventListener('click', () => (item.innerHTML += 'Clicked'));
|
|
63
|
-
});
|
|
64
|
-
await groupItem.click();
|
|
65
|
-
await expect(groupItem).toHaveText('Item 1Clicked');
|
|
66
|
-
});
|
|
67
|
-
regressionTest('item prevent default selection item event', async ({ mount, page }) => {
|
|
68
|
-
await mount(`
|
|
69
|
-
<ix-group>
|
|
70
|
-
<ix-group-item>Item 1</ix-group-item>
|
|
71
|
-
<ix-group-item>Item 2</ix-group-item>
|
|
72
|
-
</ix-group>
|
|
73
|
-
`);
|
|
74
|
-
const group = page.locator('ix-group');
|
|
75
|
-
const expandIcon = group.getByTestId('expand-collapsed-icon');
|
|
76
|
-
await expandIcon.click();
|
|
77
|
-
const groupItem = page.locator('ix-group-item').first();
|
|
78
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
79
|
-
await group.evaluate((item) => {
|
|
80
|
-
item.addEventListener('selectItem', (e) => e.preventDefault());
|
|
81
|
-
});
|
|
82
|
-
await groupItem.click();
|
|
83
|
-
await expect(groupItem).not.toHaveClass(/hydrated selected/);
|
|
84
|
-
});
|
|
85
|
-
regressionTest('group header prevent default collapse/expand', async ({ mount, page }) => {
|
|
86
|
-
await mount(`
|
|
87
|
-
<ix-group>
|
|
88
|
-
<ix-group-item>Item 1</ix-group-item>
|
|
89
|
-
<ix-group-item>Item 2</ix-group-item>
|
|
90
|
-
</ix-group>
|
|
91
|
-
`);
|
|
92
|
-
const group = page.locator('ix-group');
|
|
93
|
-
const expandIcon = group.getByTestId('expand-collapsed-icon');
|
|
94
|
-
await group.evaluate((item) => {
|
|
95
|
-
item.addEventListener('collapsedChanged', (e) => e.preventDefault());
|
|
96
|
-
});
|
|
97
|
-
await expandIcon.click();
|
|
98
|
-
await expect(group).toHaveAttribute('collapsed');
|
|
99
|
-
});
|
|
100
|
-
regressionTest('group header prevent default selection event', async ({ mount, page }) => {
|
|
101
|
-
await mount(`
|
|
102
|
-
<ix-group header="Test" sub-header="Test2">
|
|
103
|
-
<ix-group-item>Item 1</ix-group-item>
|
|
104
|
-
<ix-group-item>Item 2</ix-group-item>
|
|
105
|
-
</ix-group>
|
|
106
|
-
`);
|
|
107
|
-
const group = page.locator('ix-group');
|
|
108
|
-
const groupHeader = group.locator('.group-header');
|
|
109
|
-
await group.evaluate((item) => {
|
|
110
|
-
item.addEventListener('selectGroup', (e) => e.preventDefault());
|
|
111
|
-
});
|
|
112
|
-
await groupHeader.click();
|
|
113
|
-
await expect(group).not.toHaveAttribute('selected');
|
|
114
|
-
});
|
|
115
|
-
//# sourceMappingURL=group.ct.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"group.ct.js","sourceRoot":"","sources":["../../../../src/components/group/test/group.ct.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest('renders', async ({ mount, page }) => {\n await mount(`<ix-group></ix-group>`);\n const group = page.locator('ix-group');\n await expect(group).toHaveClass(/hydrated/);\n});\n\nregressionTest('hide expand icon initial', async ({ mount, page }) => {\n await mount(`\n <ix-group>\n </ix-group>\n `);\n const group = page.locator('ix-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const expandIcon = group.getByTestId('expand-collapsed-icon');\n await expect(expandIcon).not.toBeVisible();\n\n await group.evaluate((group) => {\n const item = document.createElement('ix-group-item');\n group.appendChild(item);\n });\n\n await expect(expandIcon).toBeVisible();\n});\n\nregressionTest('show expand icon initial', async ({ mount, page }) => {\n await mount(`\n <ix-group>\n <ix-group-item>Item 1</ix-group-item>\n </ix-group>\n `);\n const group = page.locator('ix-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const expandIcon = group.getByTestId('expand-collapsed-icon');\n await expect(expandIcon).toBeVisible();\n\n await group.evaluate((group) => {\n const item = group.querySelector('ix-group-item');\n if (item) {\n item.remove();\n }\n });\n\n await expect(expandIcon).not.toBeVisible();\n});\n\nregressionTest(\n 'suppress selection should not stop event propagation',\n async ({ mount, page }) => {\n await mount(`\n <ix-group>\n <ix-group-item suppress-selection>Item 1</ix-group-item>\n <ix-group-item>Item 2</ix-group-item>\n </ix-group>\n `);\n const group = page.locator('ix-group');\n const expandIcon = group.getByTestId('expand-collapsed-icon');\n await expandIcon.click();\n\n const groupItem = page.locator('ix-group-item').first();\n await expect(group).toHaveClass(/hydrated/);\n\n await groupItem.evaluate((item) => {\n item.addEventListener('click', () => (item.innerHTML += 'Clicked'));\n });\n\n await groupItem.click();\n await expect(groupItem).toHaveText('Item 1Clicked');\n }\n);\n\nregressionTest(\n 'item prevent default selection item event',\n async ({ mount, page }) => {\n await mount(`\n <ix-group>\n <ix-group-item>Item 1</ix-group-item>\n <ix-group-item>Item 2</ix-group-item>\n </ix-group>\n `);\n const group = page.locator('ix-group');\n const expandIcon = group.getByTestId('expand-collapsed-icon');\n await expandIcon.click();\n\n const groupItem = page.locator('ix-group-item').first();\n await expect(group).toHaveClass(/hydrated/);\n\n await group.evaluate((item) => {\n item.addEventListener('selectItem', (e) => e.preventDefault());\n });\n\n await groupItem.click();\n await expect(groupItem).not.toHaveClass(/hydrated selected/);\n }\n);\n\nregressionTest(\n 'group header prevent default collapse/expand',\n async ({ mount, page }) => {\n await mount(`\n <ix-group>\n <ix-group-item>Item 1</ix-group-item>\n <ix-group-item>Item 2</ix-group-item>\n </ix-group>\n `);\n const group = page.locator('ix-group');\n const expandIcon = group.getByTestId('expand-collapsed-icon');\n\n await group.evaluate((item) => {\n item.addEventListener('collapsedChanged', (e) => e.preventDefault());\n });\n\n await expandIcon.click();\n\n await expect(group).toHaveAttribute('collapsed');\n }\n);\n\nregressionTest(\n 'group header prevent default selection event',\n async ({ mount, page }) => {\n await mount(`\n <ix-group header=\"Test\" sub-header=\"Test2\">\n <ix-group-item>Item 1</ix-group-item>\n <ix-group-item>Item 2</ix-group-item>\n </ix-group>\n `);\n const group = page.locator('ix-group');\n const groupHeader = group.locator('.group-header');\n\n await group.evaluate((item) => {\n item.addEventListener('selectGroup', (e) => e.preventDefault());\n });\n\n await groupHeader.click();\n\n await expect(group).not.toHaveAttribute('selected');\n }\n);\n"]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: 2023 Siemens AG
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: MIT
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
import { expect } from "@playwright/test";
|
|
10
|
-
import { iconRocket } from "@siemens/ix-icons/icons";
|
|
11
|
-
import { regressionTest } from "../../../tests/utils/test/index";
|
|
12
|
-
regressionTest('renders', async ({ mount, page }) => {
|
|
13
|
-
await mount(`<ix-icon-button icon="rocket">Content</ix-icon-button>`, {
|
|
14
|
-
icons: { iconRocket },
|
|
15
|
-
});
|
|
16
|
-
const button = page.locator('ix-icon-button');
|
|
17
|
-
await expect(button).toHaveClass(/hydrated/);
|
|
18
|
-
expect(button.allInnerTexts).not.toEqual('Content');
|
|
19
|
-
await expect(button.locator('ix-icon')).toBeVisible();
|
|
20
|
-
});
|
|
21
|
-
regressionTest('show spinner while loading', async ({ mount, page }) => {
|
|
22
|
-
await mount(`<ix-icon-button icon="rocket"></ix-icon-button>`, {
|
|
23
|
-
icons: { iconRocket },
|
|
24
|
-
});
|
|
25
|
-
const button = page.locator('ix-icon-button');
|
|
26
|
-
await expect(button.locator('ix-spinner')).not.toBeVisible();
|
|
27
|
-
await button.evaluate((btn) => (btn.loading = true));
|
|
28
|
-
await expect(button.locator('ix-spinner')).toBeVisible();
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=icon-button.ct.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-button.ct.js","sourceRoot":"","sources":["../../../../src/components/icon-button/test/icon-button.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IAClD,MAAM,KAAK,CAAC,wDAAwD,EAAE;QACpE,KAAK,EAAE,EAAE,UAAU,EAAE;KACtB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEpD,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,cAAc,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACrE,MAAM,KAAK,CAAC,iDAAiD,EAAE;QAC7D,KAAK,EAAE,EAAE,UAAU,EAAE;KACtB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9C,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { iconRocket } from '@siemens/ix-icons/icons';\nimport { regressionTest } from '@utils/test';\n\nregressionTest('renders', async ({ mount, page }) => {\n await mount(`<ix-icon-button icon=\"rocket\">Content</ix-icon-button>`, {\n icons: { iconRocket },\n });\n\n const button = page.locator('ix-icon-button');\n await expect(button).toHaveClass(/hydrated/);\n expect(button.allInnerTexts).not.toEqual('Content');\n\n await expect(button.locator('ix-icon')).toBeVisible();\n});\n\nregressionTest('show spinner while loading', async ({ mount, page }) => {\n await mount(`<ix-icon-button icon=\"rocket\"></ix-icon-button>`, {\n icons: { iconRocket },\n });\n const button = page.locator('ix-icon-button');\n\n await expect(button.locator('ix-spinner')).not.toBeVisible();\n await button.evaluate((btn: HTMLIxButtonElement) => (btn.loading = true));\n await expect(button.locator('ix-spinner')).toBeVisible();\n});\n"]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: MIT
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
import { getFormValue, preventFormSubmission, regressionTest, } from "../../../tests/utils/test/index";
|
|
10
|
-
import { expect } from "@playwright/test";
|
|
11
|
-
regressionTest(`form-ready - ix-input`, async ({ mount, page }) => {
|
|
12
|
-
await mount(`<form><ix-input name="my-field-name"></ix-input></form>`);
|
|
13
|
-
const formElement = page.locator('form');
|
|
14
|
-
preventFormSubmission(formElement);
|
|
15
|
-
const input = page.locator('ix-input').locator('input');
|
|
16
|
-
await input.fill('my example');
|
|
17
|
-
await input.blur();
|
|
18
|
-
const formData = await getFormValue(formElement, 'my-field-name', page);
|
|
19
|
-
expect(formData).toBe('my example');
|
|
20
|
-
});
|
|
21
|
-
regressionTest(`form-ready - ix-number-input`, async ({ mount, page }) => {
|
|
22
|
-
await mount(`<form><ix-number-input name="my-field-name"></ix-number-input></form>`);
|
|
23
|
-
const formElement = page.locator('form');
|
|
24
|
-
preventFormSubmission(formElement);
|
|
25
|
-
const input = page.locator('ix-number-input').locator('input');
|
|
26
|
-
await input.fill('123');
|
|
27
|
-
await input.blur();
|
|
28
|
-
const formData = await getFormValue(formElement, 'my-field-name', page);
|
|
29
|
-
expect(formData).toBe('123');
|
|
30
|
-
});
|
|
31
|
-
regressionTest(`form-ready - ix-textarea`, async ({ mount, page }) => {
|
|
32
|
-
await mount(`<form><ix-textarea name="my-field-name"></ix-textarea></form>`);
|
|
33
|
-
const formElement = page.locator('form');
|
|
34
|
-
preventFormSubmission(formElement);
|
|
35
|
-
const input = page.locator('ix-textarea').locator('textarea');
|
|
36
|
-
await input.fill('Some longer text');
|
|
37
|
-
await input.blur();
|
|
38
|
-
const formData = await getFormValue(formElement, 'my-field-name', page);
|
|
39
|
-
expect(formData).toBe('Some longer text');
|
|
40
|
-
});
|
|
41
|
-
//
|
|
42
|
-
regressionTest(`form-ready - ix-input with initial value`, async ({ mount, page }) => {
|
|
43
|
-
await mount(`<form><ix-input name="my-field-name" value="initial value"></ix-input></form>`);
|
|
44
|
-
const formElement = page.locator('form');
|
|
45
|
-
preventFormSubmission(formElement);
|
|
46
|
-
const formData = await getFormValue(formElement, 'my-field-name', page);
|
|
47
|
-
expect(formData).toBe('initial value');
|
|
48
|
-
});
|
|
49
|
-
regressionTest(`form-ready - ix-number-input with initial value`, async ({ mount, page }) => {
|
|
50
|
-
await mount(`<form><ix-number-input name="my-field-name" value="1337"></ix-number-input></form>`);
|
|
51
|
-
const formElement = page.locator('form');
|
|
52
|
-
preventFormSubmission(formElement);
|
|
53
|
-
const formData = await getFormValue(formElement, 'my-field-name', page);
|
|
54
|
-
expect(formData).toBe('1337');
|
|
55
|
-
});
|
|
56
|
-
regressionTest(`form-ready - ix-textarea with initial value`, async ({ mount, page }) => {
|
|
57
|
-
await mount(`<form><ix-textarea name="my-field-name" value="initial value"></ix-textarea></form>`);
|
|
58
|
-
const formElement = page.locator('form');
|
|
59
|
-
preventFormSubmission(formElement);
|
|
60
|
-
const formData = await getFormValue(formElement, 'my-field-name', page);
|
|
61
|
-
expect(formData).toBe('initial value');
|
|
62
|
-
});
|
|
63
|
-
regressionTest('form-ready - textarea correctly renders character counter with null value', async ({ mount, page }) => {
|
|
64
|
-
await mount(`<form><ix-textarea name="my-field-name" max-length="100"></ix-textarea></form>`);
|
|
65
|
-
await page.evaluate(() => {
|
|
66
|
-
const el = document.querySelector('ix-textarea');
|
|
67
|
-
// @ts-ignore
|
|
68
|
-
el.value = null;
|
|
69
|
-
});
|
|
70
|
-
const counter = page.locator('ix-typography.bottom-text');
|
|
71
|
-
await expect(counter).toHaveText('0/100');
|
|
72
|
-
});
|
|
73
|
-
//# sourceMappingURL=form-ready.ct.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-ready.ct.js","sourceRoot":"","sources":["../../../../src/components/input/tests/form-ready.ct.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n getFormValue,\n preventFormSubmission,\n regressionTest,\n} from '@utils/test';\nimport { expect } from '@playwright/test';\n\nregressionTest(`form-ready - ix-input`, async ({ mount, page }) => {\n await mount(`<form><ix-input name=\"my-field-name\"></ix-input></form>`);\n\n const formElement = page.locator('form');\n preventFormSubmission(formElement);\n const input = page.locator('ix-input').locator('input');\n await input.fill('my example');\n await input.blur();\n\n const formData = await getFormValue(formElement, 'my-field-name', page);\n expect(formData).toBe('my example');\n});\n\nregressionTest(`form-ready - ix-number-input`, async ({ mount, page }) => {\n await mount(\n `<form><ix-number-input name=\"my-field-name\"></ix-number-input></form>`\n );\n\n const formElement = page.locator('form');\n preventFormSubmission(formElement);\n const input = page.locator('ix-number-input').locator('input');\n await input.fill('123');\n await input.blur();\n\n const formData = await getFormValue(formElement, 'my-field-name', page);\n expect(formData).toBe('123');\n});\n\nregressionTest(`form-ready - ix-textarea`, async ({ mount, page }) => {\n await mount(`<form><ix-textarea name=\"my-field-name\"></ix-textarea></form>`);\n\n const formElement = page.locator('form');\n preventFormSubmission(formElement);\n const input = page.locator('ix-textarea').locator('textarea');\n await input.fill('Some longer text');\n await input.blur();\n\n const formData = await getFormValue(formElement, 'my-field-name', page);\n expect(formData).toBe('Some longer text');\n});\n\n//\nregressionTest(\n `form-ready - ix-input with initial value`,\n async ({ mount, page }) => {\n await mount(\n `<form><ix-input name=\"my-field-name\" value=\"initial value\"></ix-input></form>`\n );\n\n const formElement = page.locator('form');\n preventFormSubmission(formElement);\n const formData = await getFormValue(formElement, 'my-field-name', page);\n expect(formData).toBe('initial value');\n }\n);\n\nregressionTest(\n `form-ready - ix-number-input with initial value`,\n async ({ mount, page }) => {\n await mount(\n `<form><ix-number-input name=\"my-field-name\" value=\"1337\"></ix-number-input></form>`\n );\n\n const formElement = page.locator('form');\n preventFormSubmission(formElement);\n const formData = await getFormValue(formElement, 'my-field-name', page);\n expect(formData).toBe('1337');\n }\n);\n\nregressionTest(\n `form-ready - ix-textarea with initial value`,\n async ({ mount, page }) => {\n await mount(\n `<form><ix-textarea name=\"my-field-name\" value=\"initial value\"></ix-textarea></form>`\n );\n\n const formElement = page.locator('form');\n preventFormSubmission(formElement);\n const formData = await getFormValue(formElement, 'my-field-name', page);\n expect(formData).toBe('initial value');\n }\n);\n\nregressionTest(\n 'form-ready - textarea correctly renders character counter with null value',\n async ({ mount, page }) => {\n await mount(\n `<form><ix-textarea name=\"my-field-name\" max-length=\"100\"></ix-textarea></form>`\n );\n\n await page.evaluate(() => {\n const el = document.querySelector('ix-textarea');\n // @ts-ignore\n el.value = null;\n });\n\n const counter = page.locator('ix-typography.bottom-text');\n await expect(counter).toHaveText('0/100');\n }\n);\n"]}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: 2025 Siemens AG
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: MIT
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of this source tree.
|
|
8
|
-
*/
|
|
9
|
-
import { test } from "../../../tests/utils/test/index";
|
|
10
|
-
import { expect } from "@playwright/test";
|
|
11
|
-
test.describe('validation', () => {
|
|
12
|
-
test.describe('ix-input', () => {
|
|
13
|
-
test('validation class should persist if provided by user', async ({ mount, page, }) => {
|
|
14
|
-
await mount('<ix-input class="ix-invalid"></ix-input>');
|
|
15
|
-
const input = page.locator('ix-input');
|
|
16
|
-
const shadowDomInput = input.locator('input');
|
|
17
|
-
await shadowDomInput.fill('my example');
|
|
18
|
-
await shadowDomInput.blur();
|
|
19
|
-
await expect(input).toHaveClass(/ix-invalid/);
|
|
20
|
-
});
|
|
21
|
-
test('min-length validation should be triggered', async ({ mount, page, }) => {
|
|
22
|
-
await mount('<ix-input min-length="3" value="123"></ix-input>');
|
|
23
|
-
const input = page.locator('ix-input');
|
|
24
|
-
const shadowDomInput = input.locator('input');
|
|
25
|
-
await shadowDomInput.fill('12');
|
|
26
|
-
await shadowDomInput.blur();
|
|
27
|
-
await expect(input).toHaveClass(/ix-invalid/);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
test.describe('ix-number-input', () => {
|
|
31
|
-
test('number input should be invalid if value is zero', async ({ mount, page, }) => {
|
|
32
|
-
await mount('<ix-number-input required></ix-number-input>');
|
|
33
|
-
const ixInput = page.locator('ix-number-input');
|
|
34
|
-
const shadowDomInput = ixInput.locator('input');
|
|
35
|
-
await shadowDomInput.fill('0');
|
|
36
|
-
await shadowDomInput.blur();
|
|
37
|
-
await expect(ixInput).not.toHaveClass(/ix-invalid--required/);
|
|
38
|
-
});
|
|
39
|
-
test('number input should be invalid if value is empty', async ({ mount, page, }) => {
|
|
40
|
-
await mount('<ix-number-input required></ix-number-input>');
|
|
41
|
-
const ixInput = page.locator('ix-number-input');
|
|
42
|
-
const shadowDomInput = ixInput.locator('input');
|
|
43
|
-
await shadowDomInput.fill('');
|
|
44
|
-
await shadowDomInput.blur();
|
|
45
|
-
await expect(ixInput).toHaveClass(/ix-invalid--required/);
|
|
46
|
-
});
|
|
47
|
-
// Current component test not working inside playwright environment.
|
|
48
|
-
// Tested step feature manual or via storybook
|
|
49
|
-
test.fixme('increment by step', async ({ mount, page }) => {
|
|
50
|
-
await mount('<ix-number-input show-stepper-buttons step="3" value="5"></ix-number-input>');
|
|
51
|
-
const ixInput = page.locator('ix-number-input');
|
|
52
|
-
const shadowDomInput = ixInput.locator('input');
|
|
53
|
-
await expect(shadowDomInput).toHaveAttribute('step', '3');
|
|
54
|
-
await expect(ixInput).toHaveAttribute('value', '5');
|
|
55
|
-
const buttonPlus = ixInput.getByLabel('increment number');
|
|
56
|
-
await buttonPlus.click();
|
|
57
|
-
await expect(ixInput).toHaveAttribute('value', '8');
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
test.describe.configure({
|
|
62
|
-
mode: 'parallel',
|
|
63
|
-
});
|
|
64
|
-
test.describe('prevent initial require validation', async () => {
|
|
65
|
-
[
|
|
66
|
-
'ix-input',
|
|
67
|
-
'ix-number-input',
|
|
68
|
-
'ix-date-input',
|
|
69
|
-
'ix-select',
|
|
70
|
-
'ix-textarea',
|
|
71
|
-
].forEach((selector) => {
|
|
72
|
-
test(selector, async ({ mount, page }) => {
|
|
73
|
-
await mount(`<${selector} required value=""></${selector}>`);
|
|
74
|
-
const inputComponent = page.locator(selector);
|
|
75
|
-
const input = inputComponent.locator(selector !== 'ix-textarea' ? 'input' : 'textarea');
|
|
76
|
-
await expect(inputComponent).toBeVisible();
|
|
77
|
-
await expect(inputComponent).not.toHaveClass(/ix-invalid/);
|
|
78
|
-
await input.focus();
|
|
79
|
-
await input.blur();
|
|
80
|
-
await expect(inputComponent).toHaveClass(/ix-invalid/);
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
//# sourceMappingURL=validation.ct.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.ct.js","sourceRoot":"","sources":["../../../../src/components/input/tests/validation.ct.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { test } from '@utils/test';\nimport { expect } from '@playwright/test';\n\ntest.describe('validation', () => {\n test.describe('ix-input', () => {\n test('validation class should persist if provided by user', async ({\n mount,\n page,\n }) => {\n await mount('<ix-input class=\"ix-invalid\"></ix-input>');\n const input = page.locator('ix-input');\n const shadowDomInput = input.locator('input');\n\n await shadowDomInput.fill('my example');\n await shadowDomInput.blur();\n\n await expect(input).toHaveClass(/ix-invalid/);\n });\n\n test('min-length validation should be triggered', async ({\n mount,\n page,\n }) => {\n await mount('<ix-input min-length=\"3\" value=\"123\"></ix-input>');\n\n const input = page.locator('ix-input');\n const shadowDomInput = input.locator('input');\n\n await shadowDomInput.fill('12');\n await shadowDomInput.blur();\n\n await expect(input).toHaveClass(/ix-invalid/);\n });\n });\n\n test.describe('ix-number-input', () => {\n test('number input should be invalid if value is zero', async ({\n mount,\n page,\n }) => {\n await mount('<ix-number-input required></ix-number-input>');\n\n const ixInput = page.locator('ix-number-input');\n const shadowDomInput = ixInput.locator('input');\n\n await shadowDomInput.fill('0');\n await shadowDomInput.blur();\n\n await expect(ixInput).not.toHaveClass(/ix-invalid--required/);\n });\n\n test('number input should be invalid if value is empty', async ({\n mount,\n page,\n }) => {\n await mount('<ix-number-input required></ix-number-input>');\n\n const ixInput = page.locator('ix-number-input');\n const shadowDomInput = ixInput.locator('input');\n\n await shadowDomInput.fill('');\n await shadowDomInput.blur();\n await expect(ixInput).toHaveClass(/ix-invalid--required/);\n });\n\n // Current component test not working inside playwright environment.\n // Tested step feature manual or via storybook\n test.fixme('increment by step', async ({ mount, page }) => {\n await mount(\n '<ix-number-input show-stepper-buttons step=\"3\" value=\"5\"></ix-number-input>'\n );\n\n const ixInput = page.locator('ix-number-input');\n const shadowDomInput = ixInput.locator('input');\n await expect(shadowDomInput).toHaveAttribute('step', '3');\n await expect(ixInput).toHaveAttribute('value', '5');\n\n const buttonPlus = ixInput.getByLabel('increment number');\n await buttonPlus.click();\n\n await expect(ixInput).toHaveAttribute('value', '8');\n });\n });\n});\n\ntest.describe.configure({\n mode: 'parallel',\n});\ntest.describe('prevent initial require validation', async () => {\n [\n 'ix-input',\n 'ix-number-input',\n 'ix-date-input',\n 'ix-select',\n 'ix-textarea',\n ].forEach((selector) => {\n test(selector, async ({ mount, page }) => {\n await mount(`<${selector} required value=\"\"></${selector}>`);\n\n const inputComponent = page.locator(selector);\n const input = inputComponent.locator(\n selector !== 'ix-textarea' ? 'input' : 'textarea'\n );\n await expect(inputComponent).toBeVisible();\n await expect(inputComponent).not.toHaveClass(/ix-invalid/);\n\n await input.focus();\n await input.blur();\n\n await expect(inputComponent).toHaveClass(/ix-invalid/);\n });\n });\n});\n"]}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: 2023 Siemens AG
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: MIT
|
|
5
|
-
*
|
|
6
|
-
* This source code is licensed under the MIT license found in the
|
|
7
|
-
* LICENSE file in the root directory of thi s source tree.
|
|
8
|
-
*/
|
|
9
|
-
import { expect } from "@playwright/test";
|
|
10
|
-
import { iconEye } from "@siemens/ix-icons/icons";
|
|
11
|
-
import { regressionTest } from "../../../tests/utils/test/index";
|
|
12
|
-
regressionTest('renders', async ({ mount, page }) => {
|
|
13
|
-
await mount(`
|
|
14
|
-
<ix-input-group>
|
|
15
|
-
<input class="parameter-value" type="text" value="Some initial value" />
|
|
16
|
-
</ix-input-group>
|
|
17
|
-
`);
|
|
18
|
-
const group = page.locator('ix-input-group');
|
|
19
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
20
|
-
const input = group.locator('input');
|
|
21
|
-
await expect(input).toHaveCSS('padding-left', '8px');
|
|
22
|
-
await expect(input).toHaveCSS('padding-right', '15px');
|
|
23
|
-
});
|
|
24
|
-
regressionTest('initial padding start', async ({ mount, page }) => {
|
|
25
|
-
await mount(`
|
|
26
|
-
<ix-input-group>
|
|
27
|
-
<span slot="input-start">
|
|
28
|
-
<ix-icon name="eye" size="16"></ix-icon>
|
|
29
|
-
</span>
|
|
30
|
-
<input class="parameter-value" type="text" value="Some initial value" />
|
|
31
|
-
</ix-input-group>
|
|
32
|
-
`, {
|
|
33
|
-
icons: { iconEye },
|
|
34
|
-
});
|
|
35
|
-
const group = page.locator('ix-input-group');
|
|
36
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
37
|
-
const input = group.locator('input');
|
|
38
|
-
await expect(input).toHaveCSS('padding-left', '27px');
|
|
39
|
-
await expect(input).toHaveCSS('padding-right', '15px');
|
|
40
|
-
});
|
|
41
|
-
regressionTest('initial padding end', async ({ mount, page }) => {
|
|
42
|
-
await mount(`
|
|
43
|
-
<ix-input-group>
|
|
44
|
-
<span slot="input-start">
|
|
45
|
-
<ix-icon name="eye" size="16"></ix-icon>
|
|
46
|
-
</span>
|
|
47
|
-
<span slot="input-end">
|
|
48
|
-
<ix-icon name="eye" size="16"></ix-icon>
|
|
49
|
-
</span>
|
|
50
|
-
<input class="parameter-value" type="text" value="Some initial value" />
|
|
51
|
-
</ix-input-group>
|
|
52
|
-
`, {
|
|
53
|
-
icons: { iconEye },
|
|
54
|
-
});
|
|
55
|
-
const group = page.locator('ix-input-group');
|
|
56
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
57
|
-
const input = group.locator('input');
|
|
58
|
-
await expect(input).toHaveCSS('padding-left', '27px');
|
|
59
|
-
await expect(input).toHaveCSS('padding-right', '31px');
|
|
60
|
-
});
|
|
61
|
-
regressionTest('update padding end', async ({ mount, page }) => {
|
|
62
|
-
await mount(`
|
|
63
|
-
<ix-input-group>
|
|
64
|
-
<input class="parameter-value" type="text" value="Some initial value" />
|
|
65
|
-
</ix-input-group>
|
|
66
|
-
`);
|
|
67
|
-
const group = page.locator('ix-input-group');
|
|
68
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
69
|
-
const input = group.locator('input');
|
|
70
|
-
await expect(input).toHaveCSS('padding-left', '8px');
|
|
71
|
-
await expect(input).toHaveCSS('padding-right', '15px');
|
|
72
|
-
await group.evaluate((group) => {
|
|
73
|
-
const startElement = document.createElement('DIV');
|
|
74
|
-
startElement.style.height = '1px';
|
|
75
|
-
startElement.style.width = '40px';
|
|
76
|
-
startElement.slot = 'input-start';
|
|
77
|
-
group.appendChild(startElement);
|
|
78
|
-
});
|
|
79
|
-
await expect(input).toHaveCSS('padding-left', '51px');
|
|
80
|
-
await expect(input).toHaveCSS('padding-right', '15px');
|
|
81
|
-
await group.evaluate((group) => {
|
|
82
|
-
const endElement = document.createElement('DIV');
|
|
83
|
-
endElement.style.height = '1px';
|
|
84
|
-
endElement.style.width = '50px';
|
|
85
|
-
endElement.slot = 'input-end';
|
|
86
|
-
group.appendChild(endElement);
|
|
87
|
-
});
|
|
88
|
-
await expect(input).toHaveCSS('padding-left', '51px');
|
|
89
|
-
await expect(input).toHaveCSS('padding-right', '65px');
|
|
90
|
-
});
|
|
91
|
-
regressionTest('validation padding', async ({ mount, page }) => {
|
|
92
|
-
await mount(`
|
|
93
|
-
<form class="needs-validation" noValidation>
|
|
94
|
-
<ix-input-group>
|
|
95
|
-
<input type="text" required />
|
|
96
|
-
</ix-input-group>
|
|
97
|
-
|
|
98
|
-
<ix-button type="submit">Submit</ix-button>
|
|
99
|
-
</form>
|
|
100
|
-
`);
|
|
101
|
-
const form = page.locator('form');
|
|
102
|
-
await form.evaluate((form) => form.addEventListener('submit', (e) => {
|
|
103
|
-
e.preventDefault();
|
|
104
|
-
form.classList.add('was-validated');
|
|
105
|
-
}));
|
|
106
|
-
const group = page.locator('ix-input-group');
|
|
107
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
108
|
-
const input = group.locator('input');
|
|
109
|
-
const button = page.locator('ix-button');
|
|
110
|
-
await button.click();
|
|
111
|
-
await expect(input).toHaveCSS('background-position-x', '7px');
|
|
112
|
-
});
|
|
113
|
-
regressionTest('validation padding with input-start slot', async ({ mount, page }) => {
|
|
114
|
-
await mount(`
|
|
115
|
-
<form class="needs-validation" noValidation>
|
|
116
|
-
<ix-input-group>
|
|
117
|
-
<ix-icon name="eye" size="12" slot="input-start"></ix-icon>
|
|
118
|
-
<input type="text" required />
|
|
119
|
-
</ix-input-group>
|
|
120
|
-
|
|
121
|
-
<ix-button type="submit">Submit</ix-button>
|
|
122
|
-
</form>
|
|
123
|
-
`, {
|
|
124
|
-
icons: { iconEye },
|
|
125
|
-
});
|
|
126
|
-
const form = page.locator('form');
|
|
127
|
-
await form.evaluate((form) => form.addEventListener('submit', (e) => {
|
|
128
|
-
e.preventDefault();
|
|
129
|
-
form.classList.add('was-validated');
|
|
130
|
-
}));
|
|
131
|
-
const group = page.locator('ix-input-group');
|
|
132
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
133
|
-
const input = group.locator('input');
|
|
134
|
-
const button = page.locator('ix-button');
|
|
135
|
-
await button.click();
|
|
136
|
-
await expect(input).toHaveCSS('background-position-x', '23px');
|
|
137
|
-
await expect(input).toHaveCSS('padding-left', '49px');
|
|
138
|
-
});
|
|
139
|
-
regressionTest('validation with class padding with input-start slot', async ({ mount, page }) => {
|
|
140
|
-
await mount(`
|
|
141
|
-
<form class="needs-validation" noValidation>
|
|
142
|
-
<ix-input-group>
|
|
143
|
-
<ix-icon name="eye" size="12" slot="input-start"></ix-icon>
|
|
144
|
-
<input type="text" class="is-invalid" />
|
|
145
|
-
</ix-input-group>
|
|
146
|
-
</form>
|
|
147
|
-
`, {
|
|
148
|
-
icons: { iconEye },
|
|
149
|
-
});
|
|
150
|
-
const form = page.locator('form');
|
|
151
|
-
await form.evaluate((form) => form.addEventListener('submit', (e) => {
|
|
152
|
-
e.preventDefault();
|
|
153
|
-
form.classList.add('was-validated');
|
|
154
|
-
}));
|
|
155
|
-
const group = page.locator('ix-input-group');
|
|
156
|
-
await expect(group).toHaveClass(/hydrated/);
|
|
157
|
-
const input = group.locator('input');
|
|
158
|
-
await expect(input).toHaveCSS('background-position-x', '23px');
|
|
159
|
-
await expect(input).toHaveCSS('padding-left', '49px');
|
|
160
|
-
});
|
|
161
|
-
//# sourceMappingURL=input-group.ct.js.map
|