@@ -5,11 +5,13 @@ import {ConnectedOverlayDirective, OverlayModule} from './overlay-directives';
55import { OverlayContainer } from './overlay-container' ;
66import { ConnectedPositionStrategy } from './position/connected-position-strategy' ;
77import { ConnectedOverlayPositionChange } from './position/connected-position' ;
8+ import { Dir } from '../rtl/dir' ;
89
910
1011describe ( 'Overlay directives' , ( ) => {
1112 let overlayContainerElement : HTMLElement ;
1213 let fixture : ComponentFixture < ConnectedOverlayDirectiveTest > ;
14+ let dir : { value : string } ;
1315
1416 beforeEach ( ( ) => {
1517 TestBed . configureTestingModule ( {
@@ -19,6 +21,9 @@ describe('Overlay directives', () => {
1921 { provide : OverlayContainer , useFactory : ( ) => {
2022 overlayContainerElement = document . createElement ( 'div' ) ;
2123 return { getContainerElement : ( ) => overlayContainerElement } ;
24+ } } ,
25+ { provide : Dir , useFactory : ( ) => {
26+ return dir = { value : 'ltr' } ;
2227 } }
2328 ] ,
2429 } ) ;
@@ -76,6 +81,23 @@ describe('Overlay directives', () => {
7681 expect ( positions . length ) . toBeGreaterThan ( 0 ) ;
7782 } ) ;
7883
84+ it ( 'should set and update the `dir` attribute' , ( ) => {
85+ dir . value = 'rtl' ;
86+ fixture . componentInstance . isOpen = true ;
87+ fixture . detectChanges ( ) ;
88+
89+ expect ( getPaneElement ( ) . getAttribute ( 'dir' ) ) . toBe ( 'rtl' ) ;
90+
91+ fixture . componentInstance . isOpen = false ;
92+ fixture . detectChanges ( ) ;
93+
94+ dir . value = 'ltr' ;
95+ fixture . componentInstance . isOpen = true ;
96+ fixture . detectChanges ( ) ;
97+
98+ expect ( getPaneElement ( ) . getAttribute ( 'dir' ) ) . toBe ( 'ltr' ) ;
99+ } ) ;
100+
79101 describe ( 'inputs' , ( ) => {
80102
81103 it ( 'should set the width' , ( ) => {
0 commit comments