@@ -25,6 +25,48 @@ const StatefulLoadingButton = (props: StatefulLoadingButtonProps) => {
25
25
return < Button loading = { isLoading } onClick = { handleClick } { ...props } />
26
26
}
27
27
28
+ describe ( 'IconButton' , ( ) => {
29
+ it ( 'should support `className` on the outermost element' , ( ) => {
30
+ const Element = ( ) => < IconButton className = { 'test-class-name' } icon = { SearchIcon } aria-label = "Search button" />
31
+ const FeatureFlagElement = ( ) => {
32
+ return (
33
+ < FeatureFlags
34
+ flags = { {
35
+ primer_react_css_modules_team : true ,
36
+ primer_react_css_modules_staff : true ,
37
+ primer_react_css_modules_ga : true ,
38
+ } }
39
+ >
40
+ < Element />
41
+ </ FeatureFlags >
42
+ )
43
+ }
44
+ expect ( render ( < Element /> ) . container . firstChild ) . toHaveClass ( 'test-class-name' )
45
+ expect ( render ( < FeatureFlagElement /> ) . container . firstChild ) . toHaveClass ( 'test-class-name' )
46
+ } )
47
+ } )
48
+
49
+ describe ( 'LinkButton' , ( ) => {
50
+ it ( 'should support `className` on the outermost element' , ( ) => {
51
+ const Element = ( ) => < LinkButton className = { 'test-class-name' } />
52
+ const FeatureFlagElement = ( ) => {
53
+ return (
54
+ < FeatureFlags
55
+ flags = { {
56
+ primer_react_css_modules_team : true ,
57
+ primer_react_css_modules_staff : true ,
58
+ primer_react_css_modules_ga : true ,
59
+ } }
60
+ >
61
+ < Element />
62
+ </ FeatureFlags >
63
+ )
64
+ }
65
+ expect ( render ( < Element /> ) . container . firstChild ) . toHaveClass ( 'test-class-name' )
66
+ expect ( render ( < FeatureFlagElement /> ) . container . firstChild ) . toHaveClass ( 'test-class-name' )
67
+ } )
68
+ } )
69
+
28
70
describe ( 'Button' , ( ) => {
29
71
behavesAsComponent ( {
30
72
Component : TestButton ,
@@ -320,45 +362,4 @@ describe('Button', () => {
320
362
expect ( tooltipEl ) . toBeInTheDocument ( )
321
363
expect ( triggerEl . getAttribute ( 'aria-describedby' ) ) . toEqual ( expect . stringContaining ( tooltipEl . id ) )
322
364
} )
323
-
324
- describe ( 'with primer_react_css_modules_staff enabled' , ( ) => {
325
- it ( 'iconbutton should support custom `className` along with default classnames' , ( ) => {
326
- const { container} = render (
327
- < FeatureFlags
328
- flags = { {
329
- primer_react_css_modules_staff : true ,
330
- } }
331
- >
332
- < IconButton className = "test" aria-label = "Test" icon = { HeartIcon } />
333
- </ FeatureFlags > ,
334
- )
335
- expect ( container . firstChild ) . toHaveClass ( 'IconButton' )
336
- } )
337
-
338
- it ( 'button should support custom `className` along with default classnames' , ( ) => {
339
- const { container} = render (
340
- < FeatureFlags
341
- flags = { {
342
- primer_react_css_modules_staff : true ,
343
- } }
344
- >
345
- < Button className = "test" > Hello</ Button >
346
- </ FeatureFlags > ,
347
- )
348
- expect ( container . firstChild ) . toHaveClass ( 'ButtonBase' )
349
- } )
350
-
351
- it ( 'linkbutton should support custom `className` along with default classnames' , ( ) => {
352
- const { container} = render (
353
- < FeatureFlags
354
- flags = { {
355
- primer_react_css_modules_staff : true ,
356
- } }
357
- >
358
- < LinkButton className = "test" > Hello</ LinkButton >
359
- </ FeatureFlags > ,
360
- )
361
- expect ( container . firstChild ) . toHaveClass ( 'ButtonBase' )
362
- } )
363
- } )
364
365
} )
0 commit comments