@@ -76,11 +76,46 @@ describe('MdExpansionPanel', () => {
76
76
button . focus ( ) ;
77
77
expect ( document . activeElement ) . not . toBe ( button , 'Expected button to no longer be focusable.' ) ;
78
78
} ) ) ;
79
+
80
+ it ( 'should be able to hide the toggle' , ( ) => {
81
+ const fixture = TestBed . createComponent ( PanelWithContent ) ;
82
+ const header = fixture . debugElement . query ( By . css ( '.mat-expansion-panel-header' ) ) . nativeElement ;
83
+
84
+ fixture . detectChanges ( ) ;
85
+
86
+ expect ( header . querySelector ( '.mat-expansion-indicator' ) )
87
+ . toBeTruthy ( 'Expected indicator to be shown.' ) ;
88
+
89
+ fixture . componentInstance . hideToggle = true ;
90
+ fixture . detectChanges ( ) ;
91
+
92
+ expect ( header . querySelector ( '.mat-expansion-indicator' ) )
93
+ . toBeFalsy ( 'Expected indicator to be hidden.' ) ;
94
+ } ) ;
95
+
96
+ it ( 'should update the indicator rotation when the expanded state is toggled programmatically' ,
97
+ fakeAsync ( ( ) => {
98
+ const fixture = TestBed . createComponent ( PanelWithContent ) ;
99
+
100
+ fixture . detectChanges ( ) ;
101
+ tick ( 250 ) ;
102
+
103
+ const arrow = fixture . debugElement . query ( By . css ( '.mat-expansion-indicator' ) ) . nativeElement ;
104
+
105
+ expect ( arrow . style . transform ) . toBe ( 'rotate(0deg)' , 'Expected no rotation.' ) ;
106
+
107
+ fixture . componentInstance . expanded = true ;
108
+ fixture . detectChanges ( ) ;
109
+ tick ( 250 ) ;
110
+
111
+ expect ( arrow . style . transform ) . toBe ( 'rotate(180deg)' , 'Expected 180 degree rotation.' ) ;
112
+ } ) ) ;
79
113
} ) ;
80
114
81
115
82
116
@Component ( { template : `
83
117
<md-expansion-panel [expanded]="expanded"
118
+ [hideToggle]="hideToggle"
84
119
(opened)="openCallback()"
85
120
(closed)="closeCallback()">
86
121
<md-expansion-panel-header>Panel Title</md-expansion-panel-header>
@@ -89,6 +124,7 @@ describe('MdExpansionPanel', () => {
89
124
</md-expansion-panel>` } )
90
125
class PanelWithContent {
91
126
expanded : boolean = false ;
127
+ hideToggle : boolean = false ;
92
128
openCallback = jasmine . createSpy ( 'openCallback' ) ;
93
129
closeCallback = jasmine . createSpy ( 'closeCallback' ) ;
94
130
}
0 commit comments