@@ -5,88 +5,92 @@ import { expect, fixture, html } from '@open-wc/testing';
5
5
import { RadioGroup } from './radio-group.js' ;
6
6
7
7
describe ( 'tap-radio-group component' , ( ) => {
8
- const value = '2' ;
9
- it ( 'should select the correct radio button based on the initial value' , async ( ) => {
10
- const element = await fixture < RadioGroup > ( html `
8
+ const value = '2' ;
9
+ it ( 'should select the correct radio button based on the initial value' , async ( ) => {
10
+ const element = await fixture < RadioGroup > ( html `
11
11
< tap-radio-group value =${ value } >
12
12
< tap-radio value ="1 "> </ tap-radio >
13
13
< tap-radio value ="2 "> </ tap-radio >
14
14
< tap-radio value ="3 "> </ tap-radio >
15
15
</ tap-radio-group >
16
16
` ) ;
17
17
18
- const radios = element . radios ;
18
+ const radios = element . radios ;
19
19
20
- expect ( radios . length ) . to . equal ( 3 ) ;
21
- expect ( radios . find ( radio => radio . value === value ) ?. checked ) . to . be . true ;
22
- } ) ;
20
+ expect ( radios . length ) . to . equal ( 3 ) ;
21
+ expect ( radios . find ( ( radio ) => radio . value === value ) ?. checked ) . to . be . true ;
22
+ } ) ;
23
23
24
- it ( 'should select a radio button when a nested element is passed' , async ( ) => {
25
- const rootElement = await fixture < RadioGroup > ( html `
26
- < tap-radio-group value ="2 ">
27
- < div >
28
- < tap-radio value ="1 "> </ tap-radio >
29
- </ div >
30
- < div >
31
- < tap-radio value ="2 "> </ tap-radio >
32
- </ div >
33
- < div >
34
- < tap-radio value ="3 "> </ tap-radio >
35
- </ div >
36
- </ tap-radio-group >
37
- ` ) ;
24
+ it ( 'should select a radio button when a nested element is passed' , async ( ) => {
25
+ const rootElement = await fixture < RadioGroup > ( html `
26
+ < tap-radio-group value ="2 ">
27
+ < div >
28
+ < tap-radio value ="1 "> </ tap-radio >
29
+ </ div >
30
+ < div >
31
+ < tap-radio value ="2 "> </ tap-radio >
32
+ </ div >
33
+ < div >
34
+ < tap-radio value ="3 "> </ tap-radio >
35
+ </ div >
36
+ </ tap-radio-group >
37
+ ` ) ;
38
38
39
- const slot = rootElement . shadowRoot ?. querySelector ( 'slot' ) ;
40
- const elements = slot ! . assignedElements ( { flatten : true } ) ;
39
+ const slot = rootElement . shadowRoot ?. querySelector ( 'slot' ) ;
40
+ const elements = slot ! . assignedElements ( { flatten : true } ) ;
41
41
42
- // TODO: use the element.radios
43
- const radios = elements . flatMap ( element => {
44
- if ( element . nodeType === Node . ELEMENT_NODE ) {
45
- const el = element as HTMLElement ;
46
- const foundRadios = Array . from ( el . querySelectorAll ( 'tap-radio' ) ) ;
47
- return foundRadios ;
48
- }
49
- return [ ] ;
50
- } ) ;
51
- expect ( radios . length ) . to . equal ( 3 ) ;
52
- expect ( radios . find ( radio => radio . value === value ) ?. value ) . to . equal ( value ) ;
42
+ // TODO: use the element.radios
43
+ const radios = elements . flatMap ( ( element ) => {
44
+ if ( element . nodeType === Node . ELEMENT_NODE ) {
45
+ const el = element as HTMLElement ;
46
+ const foundRadios = Array . from ( el . querySelectorAll ( 'tap-radio' ) ) ;
47
+ return foundRadios ;
48
+ }
49
+ return [ ] ;
53
50
} ) ;
51
+ expect ( radios . length ) . to . equal ( 3 ) ;
52
+ expect ( radios . find ( ( radio ) => radio . value === value ) ?. value ) . to . equal (
53
+ value ,
54
+ ) ;
55
+ } ) ;
54
56
55
- it ( 'should handle radio buttons nested inside other elements' , async ( ) => {
56
- const rootElement = await fixture < RadioGroup > ( html `
57
- < tap-radio-group value =${ value } >
58
- < tap-row >
59
- < div slot ="leading "> < tap-radio value ="1 "> </ tap-radio > </ div >
60
- < div slot ="content "> < span > Label 1</ span > </ div >
61
- </ tap-row >
62
- < tap-row >
63
- < div slot ="content ">
64
- < tap-radio value ="2 "> </ tap-radio >
65
- < span > Label 2</ span >
66
- </ div >
67
- </ tap-row >
68
- < tap-row >
69
- < div slot ="content ">
70
- < tap-radio value ="3 "> </ tap-radio >
71
- < span > Label 3</ span >
72
- </ div >
73
- </ tap-row >
74
- </ tap-radio-group >
75
- ` ) ;
57
+ it ( 'should handle radio buttons nested inside other elements' , async ( ) => {
58
+ const rootElement = await fixture < RadioGroup > ( html `
59
+ < tap-radio-group value =${ value } >
60
+ < tap-row >
61
+ < div slot ="leading "> < tap-radio value ="1 "> </ tap-radio > </ div >
62
+ < div slot ="content "> < span > Label 1</ span > </ div >
63
+ </ tap-row >
64
+ < tap-row >
65
+ < div slot ="content ">
66
+ < tap-radio value ="2 "> </ tap-radio >
67
+ < span > Label 2</ span >
68
+ </ div >
69
+ </ tap-row >
70
+ < tap-row >
71
+ < div slot ="content ">
72
+ < tap-radio value ="3 "> </ tap-radio >
73
+ < span > Label 3</ span >
74
+ </ div >
75
+ </ tap-row >
76
+ </ tap-radio-group >
77
+ ` ) ;
76
78
77
- const slot = rootElement . shadowRoot ?. querySelector ( 'slot' ) ;
78
- const elements = slot ! . assignedElements ( { flatten : true } ) ;
79
+ const slot = rootElement . shadowRoot ?. querySelector ( 'slot' ) ;
80
+ const elements = slot ! . assignedElements ( { flatten : true } ) ;
79
81
80
- // TODO: use the element.radios
81
- const radios = elements . flatMap ( element => {
82
- if ( element . nodeType === Node . ELEMENT_NODE ) {
83
- const el = element as HTMLElement ;
84
- const foundRadios = Array . from ( el . querySelectorAll ( 'tap-radio' ) ) ;
85
- return foundRadios ;
86
- }
87
- return [ ] ;
88
- } ) ;
89
- expect ( radios . length ) . to . equal ( 3 ) ;
90
- expect ( radios . find ( radio => radio . value === value ) ?. value ) . to . equal ( value ) ;
82
+ // TODO: use the element.radios
83
+ const radios = elements . flatMap ( ( element ) => {
84
+ if ( element . nodeType === Node . ELEMENT_NODE ) {
85
+ const el = element as HTMLElement ;
86
+ const foundRadios = Array . from ( el . querySelectorAll ( 'tap-radio' ) ) ;
87
+ return foundRadios ;
88
+ }
89
+ return [ ] ;
91
90
} ) ;
91
+ expect ( radios . length ) . to . equal ( 3 ) ;
92
+ expect ( radios . find ( ( radio ) => radio . value === value ) ?. value ) . to . equal (
93
+ value ,
94
+ ) ;
95
+ } ) ;
92
96
} ) ;
0 commit comments