@ukic/web-components 2.29.0 → 2.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  5. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -4
  9. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-page-header.cjs.entry.js +4 -4
  13. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-popover-menu.cjs.entry.js +20 -18
  15. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-search-bar.cjs.entry.js +15 -28
  19. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-select.cjs.entry.js +6 -6
  21. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-tab-context.cjs.entry.js +68 -145
  25. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -13
  27. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-tab.cjs.entry.js +9 -10
  29. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-text-field.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-typography.cjs.entry.js +3 -1
  33. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  34. package/dist/cjs/loader.cjs.js +1 -1
  35. package/dist/collection/components/ic-alert/ic-alert.css +7 -0
  36. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  37. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  38. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +44 -19
  39. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  40. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -0
  41. package/dist/collection/components/ic-checkbox/ic-checkbox.js +1 -1
  42. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  43. package/dist/collection/components/ic-input-label/ic-input-label.css +1 -0
  44. package/dist/collection/components/ic-input-label/ic-input-label.js +22 -3
  45. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  46. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +30 -0
  47. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  48. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  49. package/dist/collection/components/ic-page-header/ic-page-header.css +5 -2
  50. package/dist/collection/components/ic-page-header/ic-page-header.js +3 -3
  51. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  52. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +47 -18
  53. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  54. package/dist/collection/components/ic-radio-group/ic-radio-group.js +1 -1
  55. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  56. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -0
  57. package/dist/collection/components/ic-search-bar/ic-search-bar.js +14 -27
  58. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  59. package/dist/collection/components/ic-select/ic-select.css +1 -0
  60. package/dist/collection/components/ic-select/ic-select.js +5 -5
  61. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  62. package/dist/collection/components/ic-switch/ic-switch.css +5 -0
  63. package/dist/collection/components/ic-tab/ic-tab.js +9 -10
  64. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  65. package/dist/collection/components/ic-tab-context/ic-tab-context.js +68 -145
  66. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  67. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
  68. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  69. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +5 -73
  70. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  71. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  72. package/dist/collection/components/ic-text-field/ic-text-field.js +1 -1
  73. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  74. package/dist/collection/components/ic-typography/ic-typography.js +3 -1
  75. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  76. package/dist/components/ic-alert2.js +1 -1
  77. package/dist/components/ic-alert2.js.map +1 -1
  78. package/dist/components/ic-breadcrumb-group.js +45 -21
  79. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  80. package/dist/components/ic-checkbox.js +2 -2
  81. package/dist/components/ic-checkbox.js.map +1 -1
  82. package/dist/components/ic-input-label2.js +6 -4
  83. package/dist/components/ic-input-label2.js.map +1 -1
  84. package/dist/components/ic-navigation-group.js +1 -1
  85. package/dist/components/ic-navigation-group.js.map +1 -1
  86. package/dist/components/ic-page-header.js +4 -4
  87. package/dist/components/ic-page-header.js.map +1 -1
  88. package/dist/components/ic-popover-menu.js +22 -19
  89. package/dist/components/ic-popover-menu.js.map +1 -1
  90. package/dist/components/ic-radio-group.js +1 -1
  91. package/dist/components/ic-radio-group.js.map +1 -1
  92. package/dist/components/ic-search-bar.js +15 -28
  93. package/dist/components/ic-search-bar.js.map +1 -1
  94. package/dist/components/ic-select.js +6 -6
  95. package/dist/components/ic-select.js.map +1 -1
  96. package/dist/components/ic-switch.js +1 -1
  97. package/dist/components/ic-switch.js.map +1 -1
  98. package/dist/components/ic-tab-context.js +68 -145
  99. package/dist/components/ic-tab-context.js.map +1 -1
  100. package/dist/components/ic-tab-panel.js +6 -17
  101. package/dist/components/ic-tab-panel.js.map +1 -1
  102. package/dist/components/ic-tab.js +9 -10
  103. package/dist/components/ic-tab.js.map +1 -1
  104. package/dist/components/ic-text-field2.js +2 -2
  105. package/dist/components/ic-text-field2.js.map +1 -1
  106. package/dist/components/ic-typography2.js +3 -1
  107. package/dist/components/ic-typography2.js.map +1 -1
  108. package/dist/core/core.esm.js +1 -1
  109. package/dist/core/core.esm.js.map +1 -1
  110. package/dist/core/{p-4b89890b.entry.js → p-22ef3303.entry.js} +2 -2
  111. package/dist/core/p-22ef3303.entry.js.map +1 -0
  112. package/dist/core/{p-227f6a41.entry.js → p-2889cc17.entry.js} +2 -2
  113. package/dist/core/p-2889cc17.entry.js.map +1 -0
  114. package/dist/core/p-570f1930.entry.js +2 -0
  115. package/dist/core/p-570f1930.entry.js.map +1 -0
  116. package/dist/core/p-72b350bc.entry.js +2 -0
  117. package/dist/core/p-72b350bc.entry.js.map +1 -0
  118. package/dist/core/p-7591805d.entry.js +2 -0
  119. package/dist/core/p-7591805d.entry.js.map +1 -0
  120. package/dist/core/p-81deed36.entry.js +2 -0
  121. package/dist/core/p-81deed36.entry.js.map +1 -0
  122. package/dist/core/p-85f30b1c.entry.js +2 -0
  123. package/dist/core/p-85f30b1c.entry.js.map +1 -0
  124. package/dist/core/p-94d5aa77.entry.js +2 -0
  125. package/dist/core/p-94d5aa77.entry.js.map +1 -0
  126. package/dist/core/p-9df32798.entry.js +2 -0
  127. package/dist/core/p-9df32798.entry.js.map +1 -0
  128. package/dist/core/{p-dcd475cc.entry.js → p-b4da66f0.entry.js} +2 -2
  129. package/dist/core/p-b4da66f0.entry.js.map +1 -0
  130. package/dist/core/p-cbd4caf5.entry.js +2 -0
  131. package/dist/core/p-cbd4caf5.entry.js.map +1 -0
  132. package/dist/core/p-d638d75d.entry.js +2 -0
  133. package/dist/core/p-d638d75d.entry.js.map +1 -0
  134. package/dist/core/p-da5098db.entry.js +2 -0
  135. package/dist/core/p-da5098db.entry.js.map +1 -0
  136. package/dist/core/{p-ed2b2bd7.entry.js → p-dd4ef67f.entry.js} +2 -2
  137. package/dist/core/{p-ed2b2bd7.entry.js.map → p-dd4ef67f.entry.js.map} +1 -1
  138. package/dist/core/{p-3f2d4108.entry.js → p-de0afa78.entry.js} +2 -2
  139. package/dist/core/p-de0afa78.entry.js.map +1 -0
  140. package/dist/core/p-ea58ae1d.entry.js +2 -0
  141. package/dist/core/p-ea58ae1d.entry.js.map +1 -0
  142. package/dist/esm/core.js +1 -1
  143. package/dist/esm/ic-alert.entry.js +1 -1
  144. package/dist/esm/ic-alert.entry.js.map +1 -1
  145. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  146. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  147. package/dist/esm/ic-checkbox.entry.js +2 -2
  148. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  149. package/dist/esm/ic-input-label_2.entry.js +5 -4
  150. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  151. package/dist/esm/ic-navigation-group.entry.js +1 -1
  152. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  153. package/dist/esm/ic-page-header.entry.js +4 -4
  154. package/dist/esm/ic-page-header.entry.js.map +1 -1
  155. package/dist/esm/ic-popover-menu.entry.js +20 -18
  156. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  157. package/dist/esm/ic-radio-group.entry.js +1 -1
  158. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  159. package/dist/esm/ic-search-bar.entry.js +15 -28
  160. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  161. package/dist/esm/ic-select.entry.js +6 -6
  162. package/dist/esm/ic-select.entry.js.map +1 -1
  163. package/dist/esm/ic-switch.entry.js +1 -1
  164. package/dist/esm/ic-switch.entry.js.map +1 -1
  165. package/dist/esm/ic-tab-context.entry.js +68 -145
  166. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  167. package/dist/esm/ic-tab-panel.entry.js +5 -13
  168. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  169. package/dist/esm/ic-tab.entry.js +9 -10
  170. package/dist/esm/ic-tab.entry.js.map +1 -1
  171. package/dist/esm/ic-text-field.entry.js +2 -2
  172. package/dist/esm/ic-text-field.entry.js.map +1 -1
  173. package/dist/esm/ic-typography.entry.js +3 -1
  174. package/dist/esm/ic-typography.entry.js.map +1 -1
  175. package/dist/esm/loader.js +1 -1
  176. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  177. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +1 -0
  178. package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -0
  179. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +2 -2
  180. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +9 -6
  181. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +0 -12
  182. package/dist/types/components.d.ts +14 -5
  183. package/hydrate/index.js +191 -262
  184. package/package.json +2 -2
  185. package/vscode-data.json +5 -1
  186. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -343
  187. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  188. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  189. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  190. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  191. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  192. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -65
  193. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  194. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  195. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  196. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  197. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  198. package/dist/core/p-093600a2.entry.js +0 -2
  199. package/dist/core/p-093600a2.entry.js.map +0 -1
  200. package/dist/core/p-227f6a41.entry.js.map +0 -1
  201. package/dist/core/p-3f2d4108.entry.js.map +0 -1
  202. package/dist/core/p-4562904d.entry.js +0 -2
  203. package/dist/core/p-4562904d.entry.js.map +0 -1
  204. package/dist/core/p-4b89890b.entry.js.map +0 -1
  205. package/dist/core/p-60746e10.entry.js +0 -2
  206. package/dist/core/p-60746e10.entry.js.map +0 -1
  207. package/dist/core/p-7c2b59fe.entry.js +0 -2
  208. package/dist/core/p-7c2b59fe.entry.js.map +0 -1
  209. package/dist/core/p-9e15d0e1.entry.js +0 -2
  210. package/dist/core/p-9e15d0e1.entry.js.map +0 -1
  211. package/dist/core/p-aeb001d7.entry.js +0 -2
  212. package/dist/core/p-aeb001d7.entry.js.map +0 -1
  213. package/dist/core/p-cb14349b.entry.js +0 -2
  214. package/dist/core/p-cb14349b.entry.js.map +0 -1
  215. package/dist/core/p-d3750771.entry.js +0 -2
  216. package/dist/core/p-d3750771.entry.js.map +0 -1
  217. package/dist/core/p-db52d416.entry.js +0 -2
  218. package/dist/core/p-db52d416.entry.js.map +0 -1
  219. package/dist/core/p-dcd475cc.entry.js.map +0 -1
  220. package/dist/core/p-e735d773.entry.js +0 -2
  221. package/dist/core/p-e735d773.entry.js.map +0 -1
  222. package/dist/core/p-e8fa0095.entry.js +0 -2
  223. package/dist/core/p-e8fa0095.entry.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/web-components",
3
- "version": "2.29.0",
3
+ "version": "2.30.0",
4
4
  "description": "A web component UI library compiled with StencilJS",
5
5
  "author": "mi6",
6
6
  "bugs": {
@@ -96,5 +96,5 @@
96
96
  "webpack": "^5.76.0"
97
97
  },
98
98
  "license": "MIT",
99
- "gitHead": "eac36044d122bbfe72142a35877135ebff6dce5e"
99
+ "gitHead": "895517389cf1b33e002f4b72661792fd74ee4cbb"
100
100
  }
package/vscode-data.json CHANGED
@@ -121,7 +121,7 @@
121
121
  },
122
122
  {
123
123
  "name": "show-default-icon",
124
- "description": "If `true`, the default icon for the neutral variant will be appear on the left of the alert."
124
+ "description": "If `true`, the default icon for the neutral variant will appear on the left of the alert."
125
125
  },
126
126
  {
127
127
  "name": "title-above",
@@ -1510,6 +1510,10 @@
1510
1510
  "name": "helper-text",
1511
1511
  "description": "The helper text that will be displayed."
1512
1512
  },
1513
+ {
1514
+ "name": "hide-label",
1515
+ "description": "The label will be visually hidden."
1516
+ },
1513
1517
  {
1514
1518
  "name": "label",
1515
1519
  "description": "The text content of the label."
@@ -1,343 +0,0 @@
1
- import { newE2EPage } from "@stencil/core/testing";
2
- beforeAll(() => {
3
- jest.spyOn(console, "warn").mockImplementation(jest.fn());
4
- });
5
- describe("ic-radio-group component", () => {
6
- it("should have tabIndex of first option 0, when no options are selected", async () => {
7
- const page = await newE2EPage();
8
- await page.setContent(`<ic-radio-group label="test label" name="test">
9
- <ic-radio-option value="test1" ></ic-radio-option>
10
- <ic-radio-option value="test2" ></ic-radio-option>
11
- </ic-radio-group>
12
- `);
13
- await page.waitForChanges();
14
- const radioButton1 = await page.find("ic-radio-option[value='test1']");
15
- const input1 = radioButton1.shadowRoot.querySelector("input");
16
- const radioButton2 = await page.find("ic-radio-option[value='test2']");
17
- const input2 = radioButton2.shadowRoot.querySelector("input");
18
- expect(input1.tabIndex).toBe(0);
19
- expect(input2.tabIndex).toBe(-1);
20
- });
21
- it("should not be clickable when disabled", async () => {
22
- const page = await newE2EPage();
23
- await page.setContent(`<ic-radio-group label="test label" name="test">
24
- <ic-radio-option value="test1" disabled></ic-radio-option>
25
- <ic-radio-option value="test2" disabled></ic-radio-option>
26
- </ic-radio-group>
27
- `);
28
- const radioButton = await page.find("ic-radio-option[value='test2']");
29
- await radioButton.click();
30
- await page.waitForChanges();
31
- expect(await radioButton.getProperty("selected")).toBe(false);
32
- });
33
- it("should be selected when clicked", async () => {
34
- const page = await newE2EPage();
35
- await page.setContent(`<ic-radio-group label="test label" name="test">
36
- <ic-radio-option value="test1" ></ic-radio-option>
37
- <ic-radio-option value="test2" ></ic-radio-option>
38
- </ic-radio-group>
39
- `);
40
- let radioButton = await page.find("ic-radio-option[value='test2']");
41
- await radioButton.click();
42
- await page.waitForChanges();
43
- expect(await radioButton.getProperty("selected")).toBe(true);
44
- radioButton = await page.find("ic-radio-option[value='test2']");
45
- const input = radioButton.shadowRoot.querySelector("input");
46
- expect(input.tabIndex).toBe(0);
47
- });
48
- it("should enable textfield when associated option is selected when static", async () => {
49
- const page = await newE2EPage();
50
- await page.setContent(`<ic-radio-group label="test label" name="test">
51
- <ic-radio-option value="test1" ></ic-radio-option>
52
- <ic-radio-option value="test2" selected>
53
- <ic-text-field
54
- slot="additional-field"
55
- label="Test label"
56
- ></ic-text-field>
57
- </ic-radio-option>
58
- </ic-radio-group>
59
- `);
60
- const radioButton = await page.find("ic-radio-option[value='test1']");
61
- const textfield = await page.find("ic-text-field");
62
- expect(textfield).not.toHaveAttribute("disabled");
63
- await radioButton.click();
64
- await page.waitForChanges();
65
- expect(textfield).toHaveAttribute("disabled");
66
- });
67
- it("should display textfield when associated option is selected when dynamic", async () => {
68
- const page = await newE2EPage();
69
- await page.setContent(`<ic-radio-group label="test label" name="test">
70
- <ic-radio-option value="test1" ></ic-radio-option>
71
- <ic-radio-option value="test2" additional-field-display="dynamic">
72
- <ic-text-field
73
- slot="additional-field"
74
- label="Test label"
75
- ></ic-text-field>
76
- </ic-radio-option>
77
- </ic-radio-group>
78
- `);
79
- const radioButton = await page.find("ic-radio-option[value='test2']");
80
- let additionalFieldDisplay = await page.evaluate(() => {
81
- const additionalField = document
82
- .querySelector("ic-radio-option[value='test2']")
83
- .shadowRoot.querySelector(".dynamic-container");
84
- return window.getComputedStyle(additionalField).display;
85
- });
86
- expect(additionalFieldDisplay).toBe("none");
87
- await radioButton.click();
88
- await page.waitForChanges();
89
- additionalFieldDisplay = await page.evaluate(() => {
90
- const additionalField = document
91
- .querySelector("ic-radio-option[value='test2']")
92
- .shadowRoot.querySelector(".dynamic-container");
93
- return window.getComputedStyle(additionalField).display;
94
- });
95
- expect(additionalFieldDisplay).not.toBe("none");
96
- });
97
- it("should emit icChange event when radio option is selected", async () => {
98
- const page = await newE2EPage();
99
- await page.setContent(`<ic-radio-group label="test label" name="test">
100
- <ic-radio-option value="test1" ></ic-radio-option>
101
- <ic-radio-option value="test2" >
102
- </ic-radio-option>
103
- </ic-radio-group>
104
- `);
105
- const radioButton = await page.find("ic-radio-option[value='test2']");
106
- const icChange = await page.spyOnEvent("icChange");
107
- await radioButton.click();
108
- await page.waitForChanges();
109
- const radioElement = await page.evaluate(() => document.querySelector("ic-radio-option[value='test2']"));
110
- expect(icChange).toHaveReceivedEventDetail({
111
- selectedOption: {
112
- radio: radioElement,
113
- },
114
- value: "test2",
115
- });
116
- });
117
- it("should emit icCheck event when radio option is selected", async () => {
118
- const page = await newE2EPage();
119
- await page.setContent(`<ic-radio-group label="test label" name="test">
120
- <ic-radio-option value="test1" ></ic-radio-option>
121
- <ic-radio-option value="test2" ></ic-radio-option>
122
- </ic-radio-group>
123
- `);
124
- const radioButton = await page.find("ic-radio-option[value='test2']");
125
- const icChecked = await page.spyOnEvent("icCheck");
126
- await radioButton.click();
127
- await page.waitForChanges();
128
- expect(icChecked).toHaveReceivedEventDetail({
129
- value: "test2",
130
- });
131
- });
132
- it("should select when spacebar is pressed", async () => {
133
- const page = await newE2EPage();
134
- await page.setContent(`<ic-radio-group label="test label" name="test">
135
- <ic-radio-option value="test1" ></ic-radio-option>
136
- <ic-radio-option value="test2" >
137
- </ic-radio-option>
138
- </ic-radio-group>
139
- `);
140
- const radioButton = await page.find("ic-radio-option[value='test1']");
141
- expect(await radioButton.getProperty("selected")).toBe(false);
142
- await page.keyboard.press("Tab");
143
- await radioButton.press(" ");
144
- await page.waitForChanges();
145
- expect(await radioButton.getProperty("selected")).toBe(true);
146
- const input = radioButton.shadowRoot.querySelector("input");
147
- expect(input.tabIndex).toBe(0);
148
- });
149
- it("should select next radio option down when arrow down is used", async () => {
150
- const page = await newE2EPage();
151
- await page.setContent(`<ic-radio-group label="test label" name="test">
152
- <ic-radio-option value="test1" ></ic-radio-option>
153
- <ic-radio-option value="test2" ></ic-radio-option>
154
- <ic-radio-option value="test3" ></ic-radio-option>
155
- </ic-radio-group>
156
- `);
157
- const radioButton1 = await page.find("ic-radio-option[value='test1']");
158
- const radioButton2 = await page.find("ic-radio-option[value='test2']");
159
- await page.keyboard.press("Tab");
160
- await radioButton1.press(" ");
161
- await page.waitForChanges();
162
- await radioButton1.press("ArrowDown");
163
- await page.waitForChanges();
164
- const input = radioButton2.shadowRoot.querySelector("input");
165
- expect(input.tabIndex).toBe(0);
166
- });
167
- it("should select next radio option down when arrow right is used", async () => {
168
- const page = await newE2EPage();
169
- await page.setContent(`<ic-radio-group label="test label" name="test">
170
- <ic-radio-option value="test1" ></ic-radio-option>
171
- <ic-radio-option value="test2" ></ic-radio-option>
172
- <ic-radio-option value="test3" ></ic-radio-option>
173
- </ic-radio-group>
174
- `);
175
- const radioButton1 = await page.find("ic-radio-option[value='test1']");
176
- const radioButton2 = await page.find("ic-radio-option[value='test2']");
177
- await page.keyboard.press("Tab");
178
- await radioButton1.press(" ");
179
- await page.waitForChanges();
180
- await radioButton1.press("ArrowRight");
181
- await page.waitForChanges();
182
- const input = radioButton2.shadowRoot.querySelector("input");
183
- expect(input.tabIndex).toBe(0);
184
- });
185
- it("should select next radio option down when arrow up is used", async () => {
186
- const page = await newE2EPage();
187
- await page.setContent(`<ic-radio-group label="test label" name="test">
188
- <ic-radio-option value="test1" ></ic-radio-option>
189
- <ic-radio-option value="test2" ></ic-radio-option>
190
- <ic-radio-option value="test3" ></ic-radio-option>
191
- </ic-radio-group>
192
- `);
193
- const radioButton2 = await page.find("ic-radio-option[value='test2']");
194
- const radioButton1 = await page.find("ic-radio-option[value='test1']");
195
- await radioButton2.click();
196
- await page.waitForChanges();
197
- await radioButton2.press("ArrowUp");
198
- await page.waitForChanges();
199
- const input = radioButton1.shadowRoot.querySelector("input");
200
- expect(input.tabIndex).toBe(0);
201
- });
202
- it("should select next radio option down when arrow left is used", async () => {
203
- const page = await newE2EPage();
204
- await page.setContent(`<ic-radio-group label="test label" name="test">
205
- <ic-radio-option value="test1" ></ic-radio-option>
206
- <ic-radio-option value="test2" ></ic-radio-option>
207
- <ic-radio-option value="test3" ></ic-radio-option>
208
- </ic-radio-group>
209
- `);
210
- const radioButton2 = await page.find("ic-radio-option[value='test2']");
211
- const radioButton1 = await page.find("ic-radio-option[value='test1']");
212
- await radioButton2.click();
213
- await page.waitForChanges();
214
- await radioButton2.press("ArrowLeft");
215
- await page.waitForChanges();
216
- const input = radioButton1.shadowRoot.querySelector("input");
217
- expect(input.tabIndex).toBe(0);
218
- });
219
- it("should work in a form", async () => {
220
- const page = await newE2EPage();
221
- await page.setContent(` <form>
222
- <ic-radio-group label="this is a label" name="1">
223
- <ic-radio-option
224
- value="valueName1"
225
- label="Unselected / Default"
226
- ></ic-radio-option>
227
- <ic-radio-option
228
- value="valueName2"
229
- label="Selected / Default"
230
- selected
231
- ></ic-radio-option>
232
- <ic-radio-option
233
- value="valueName3"
234
- label="Unselected / Disabled"
235
- disabled
236
- ></ic-radio-option>
237
- </ic-radio-group>
238
- <input type="submit" value="Submit">
239
- </form>
240
- <script>document.querySelector('form').addEventListener('submit', (ev) => {
241
- ev.preventDefault();
242
- })
243
- </script>
244
- `);
245
- await page.waitForChanges();
246
- const radioButton = await page.find("ic-radio-option[value='valueName1']");
247
- await radioButton.click();
248
- await page.waitForChanges();
249
- const value = await (await page.find('input[name="1"]')).getProperty("value");
250
- expect(value).toBe("valueName1");
251
- });
252
- it("should pass the value of radio button correctly when already selected", async () => {
253
- const page = await newE2EPage();
254
- await page.setContent(`<ic-radio-group label="test label" name="test">
255
- <ic-radio-option value="test1" ></ic-radio-option>
256
- <ic-radio-option value="test2" selected ></ic-radio-option>
257
- </ic-radio-group>
258
- `);
259
- await page.waitForChanges();
260
- const value = await (await page.find('input[name="test"]')).getProperty("value");
261
- expect(value).toBe("test2");
262
- });
263
- it("should pass the value of radio button and textfield correctly when already selected", async () => {
264
- const page = await newE2EPage();
265
- await page.setContent(`<ic-radio-group label="test label" name="test">
266
- <ic-radio-option value="test1" ></ic-radio-option>
267
- <ic-radio-option value="test2" additional-field-display="dynamic" >
268
- <ic-text-field
269
- slot="additional-field"
270
- label="Test label"
271
- ></ic-text-field>
272
- </ic-radio-option>
273
- </ic-radio-group>
274
- `);
275
- const radioButton = await page.find("ic-radio-option[value='test2']");
276
- await radioButton.click();
277
- await page.waitForChanges();
278
- await page.keyboard.press("Tab");
279
- await page.waitForChanges();
280
- await page.keyboard.press("t");
281
- await page.keyboard.press("e");
282
- await page.keyboard.press("s");
283
- await page.keyboard.press("t");
284
- await page.waitForChanges();
285
- let value = await (await page.find('input[name="test"]')).getProperty("value");
286
- expect(value).toBe("test");
287
- await page.keyboard.press("Backspace");
288
- await page.keyboard.press("Backspace");
289
- await page.keyboard.press("Backspace");
290
- await page.keyboard.press("Backspace");
291
- await page.waitForChanges();
292
- value = await (await page.find('input[name="test"]')).getProperty("value");
293
- expect(value).toBe("test2");
294
- });
295
- it("should pass the value of radio button and textfield correctly when already selected and has a value in textfield", async () => {
296
- const page = await newE2EPage();
297
- await page.setContent(`<ic-radio-group label="test label" name="test">
298
- <ic-radio-option value="test1" ></ic-radio-option>
299
- <ic-radio-option value="test2" additional-field-display="dynamic" >
300
- <ic-text-field
301
- slot="additional-field"
302
- label="Test label"
303
- value="testValue1"
304
- ></ic-text-field>
305
- </ic-radio-option>
306
- </ic-radio-group>
307
- `);
308
- const radioButton = await page.find("ic-radio-option[value='test2']");
309
- await radioButton.click();
310
- await page.waitForChanges();
311
- const value = await (await page.find('input[name="test"]')).getProperty("value");
312
- expect(value).toBe("testValue1");
313
- });
314
- it("should reset to initial state on form reset event", async () => {
315
- const page = await newE2EPage();
316
- await page.setContent(`<form><ic-radio-group label="test label" name="test">
317
- <ic-radio-option value="test1" ></ic-radio-option>
318
- <ic-radio-option value="test2" selected></ic-radio-option>
319
- </ic-radio-group>
320
- <button type="reset" id="resetButton">Reset</button>
321
- </form>
322
- `);
323
- await page.waitForChanges();
324
- let radioButton1 = await page.find("ic-radio-option[value='test1']");
325
- let radioButton2 = await page.find("ic-radio-option[value='test2']");
326
- expect(await radioButton1.getProperty("selected")).toBe(false);
327
- expect(await radioButton2.getProperty("selected")).toBe(true);
328
- await radioButton1.click();
329
- await page.waitForChanges();
330
- radioButton1 = await page.find("ic-radio-option[value='test1']");
331
- radioButton2 = await page.find("ic-radio-option[value='test2']");
332
- expect(await radioButton1.getProperty("selected")).toBe(true);
333
- expect(await radioButton2.getProperty("selected")).toBe(false);
334
- const resetButton = await page.find("#resetButton");
335
- await resetButton.click();
336
- await page.waitForChanges();
337
- radioButton1 = await page.find("ic-radio-option[value='test1']");
338
- radioButton2 = await page.find("ic-radio-option[value='test2']");
339
- expect(await radioButton1.getProperty("selected")).toBe(false);
340
- expect(await radioButton2.getProperty("selected")).toBe(true);
341
- });
342
- });
343
- //# sourceMappingURL=ic-radio-group.e2e.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ic-radio-group.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-radio-group/test/basic/ic-radio-group.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-radio-group component\", () => {\n it(\"should have tabIndex of first option 0, when no options are selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n </ic-radio-group>\n `);\n await page.waitForChanges();\n\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n const input1 = radioButton1.shadowRoot.querySelector(\"input\");\n\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n const input2 = radioButton2.shadowRoot.querySelector(\"input\");\n\n expect(input1.tabIndex).toBe(0);\n expect(input2.tabIndex).toBe(-1);\n });\n it(\"should not be clickable when disabled\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" disabled></ic-radio-option> \n <ic-radio-option value=\"test2\" disabled></ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n await radioButton.click();\n await page.waitForChanges();\n expect(await radioButton.getProperty(\"selected\")).toBe(false);\n });\n it(\"should be selected when clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n </ic-radio-group>\n `);\n let radioButton = await page.find(\"ic-radio-option[value='test2']\");\n await radioButton.click();\n await page.waitForChanges();\n\n expect(await radioButton.getProperty(\"selected\")).toBe(true);\n\n radioButton = await page.find(\"ic-radio-option[value='test2']\");\n const input = radioButton.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should enable textfield when associated option is selected when static\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" selected>\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test1']\");\n const textfield = await page.find(\"ic-text-field\");\n expect(textfield).not.toHaveAttribute(\"disabled\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n expect(textfield).toHaveAttribute(\"disabled\");\n });\n it(\"should display textfield when associated option is selected when dynamic\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" additional-field-display=\"dynamic\">\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n\n let additionalFieldDisplay = await page.evaluate(() => {\n const additionalField = document\n .querySelector(\"ic-radio-option[value='test2']\")\n .shadowRoot.querySelector(\".dynamic-container\");\n\n return window.getComputedStyle(additionalField).display;\n });\n expect(additionalFieldDisplay).toBe(\"none\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n additionalFieldDisplay = await page.evaluate(() => {\n const additionalField = document\n .querySelector(\"ic-radio-option[value='test2']\")\n .shadowRoot.querySelector(\".dynamic-container\");\n\n return window.getComputedStyle(additionalField).display;\n });\n expect(additionalFieldDisplay).not.toBe(\"none\");\n });\n it(\"should emit icChange event when radio option is selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" >\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n const icChange = await page.spyOnEvent(\"icChange\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n const radioElement = await page.evaluate(\n () =>\n document.querySelector(\n \"ic-radio-option[value='test2']\"\n ) as HTMLIcRadioOptionElement\n );\n\n expect(icChange).toHaveReceivedEventDetail({\n selectedOption: {\n radio: radioElement,\n },\n value: \"test2\",\n });\n });\n it(\"should emit icCheck event when radio option is selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n const icChecked = await page.spyOnEvent(\"icCheck\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n expect(icChecked).toHaveReceivedEventDetail({\n value: \"test2\",\n });\n });\n it(\"should select when spacebar is pressed\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" >\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test1']\");\n expect(await radioButton.getProperty(\"selected\")).toBe(false);\n\n await page.keyboard.press(\"Tab\");\n await radioButton.press(\" \");\n await page.waitForChanges();\n\n expect(await radioButton.getProperty(\"selected\")).toBe(true);\n const input = radioButton.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow down is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n await page.keyboard.press(\"Tab\");\n await radioButton1.press(\" \");\n await page.waitForChanges();\n await radioButton1.press(\"ArrowDown\");\n await page.waitForChanges();\n\n const input = radioButton2.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow right is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n await page.keyboard.press(\"Tab\");\n await radioButton1.press(\" \");\n await page.waitForChanges();\n await radioButton1.press(\"ArrowRight\");\n await page.waitForChanges();\n\n const input = radioButton2.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow up is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n\n await radioButton2.click();\n await page.waitForChanges();\n await radioButton2.press(\"ArrowUp\");\n await page.waitForChanges();\n\n const input = radioButton1.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should select next radio option down when arrow left is used\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" ></ic-radio-option> \n <ic-radio-option value=\"test3\" ></ic-radio-option> \n </ic-radio-group>\n `);\n\n const radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n const radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n\n await radioButton2.click();\n await page.waitForChanges();\n await radioButton2.press(\"ArrowLeft\");\n await page.waitForChanges();\n\n const input = radioButton1.shadowRoot.querySelector(\"input\");\n expect(input.tabIndex).toBe(0);\n });\n it(\"should work in a form\", async () => {\n const page = await newE2EPage();\n\n await page.setContent(` <form>\n <ic-radio-group label=\"this is a label\" name=\"1\">\n <ic-radio-option\n value=\"valueName1\"\n label=\"Unselected / Default\"\n ></ic-radio-option>\n <ic-radio-option\n value=\"valueName2\"\n label=\"Selected / Default\"\n selected\n ></ic-radio-option>\n <ic-radio-option\n value=\"valueName3\"\n label=\"Unselected / Disabled\"\n disabled\n ></ic-radio-option>\n </ic-radio-group>\n <input type=\"submit\" value=\"Submit\">\n </form>\n <script>document.querySelector('form').addEventListener('submit', (ev) => {\n ev.preventDefault();\n })\n </script>\n `);\n await page.waitForChanges();\n\n const radioButton = await page.find(\"ic-radio-option[value='valueName1']\");\n\n await radioButton.click();\n await page.waitForChanges();\n const value = await (\n await page.find('input[name=\"1\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"valueName1\");\n });\n it(\"should pass the value of radio button correctly when already selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" selected ></ic-radio-option> \n </ic-radio-group>\n `);\n\n await page.waitForChanges();\n\n const value = await (\n await page.find('input[name=\"test\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"test2\");\n });\n\n it(\"should pass the value of radio button and textfield correctly when already selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" additional-field-display=\"dynamic\" >\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n await page.keyboard.press(\"t\");\n await page.keyboard.press(\"e\");\n await page.keyboard.press(\"s\");\n await page.keyboard.press(\"t\");\n\n await page.waitForChanges();\n\n let value = await (\n await page.find('input[name=\"test\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"test\");\n\n await page.keyboard.press(\"Backspace\");\n await page.keyboard.press(\"Backspace\");\n await page.keyboard.press(\"Backspace\");\n await page.keyboard.press(\"Backspace\");\n\n await page.waitForChanges();\n\n value = await (await page.find('input[name=\"test\"]')).getProperty(\"value\");\n\n expect(value).toBe(\"test2\");\n });\n\n it(\"should pass the value of radio button and textfield correctly when already selected and has a value in textfield\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" additional-field-display=\"dynamic\" >\n <ic-text-field\n slot=\"additional-field\"\n label=\"Test label\"\n value=\"testValue1\"\n ></ic-text-field>\n </ic-radio-option> \n </ic-radio-group>\n `);\n const radioButton = await page.find(\"ic-radio-option[value='test2']\");\n\n await radioButton.click();\n await page.waitForChanges();\n\n const value = await (\n await page.find('input[name=\"test\"]')\n ).getProperty(\"value\");\n\n expect(value).toBe(\"testValue1\");\n });\n\n it(\"should reset to initial state on form reset event\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<form><ic-radio-group label=\"test label\" name=\"test\">\n <ic-radio-option value=\"test1\" ></ic-radio-option> \n <ic-radio-option value=\"test2\" selected></ic-radio-option> \n </ic-radio-group>\n <button type=\"reset\" id=\"resetButton\">Reset</button>\n </form>\n `);\n\n await page.waitForChanges();\n\n let radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n let radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n expect(await radioButton1.getProperty(\"selected\")).toBe(false);\n expect(await radioButton2.getProperty(\"selected\")).toBe(true);\n\n await radioButton1.click();\n await page.waitForChanges();\n\n radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n expect(await radioButton1.getProperty(\"selected\")).toBe(true);\n expect(await radioButton2.getProperty(\"selected\")).toBe(false);\n\n const resetButton = await page.find(\"#resetButton\");\n await resetButton.click();\n\n await page.waitForChanges();\n\n radioButton1 = await page.find(\"ic-radio-option[value='test1']\");\n radioButton2 = await page.find(\"ic-radio-option[value='test2']\");\n\n expect(await radioButton1.getProperty(\"selected\")).toBe(false);\n expect(await radioButton2.getProperty(\"selected\")).toBe(true);\n });\n});\n"]}