@@ -5,11 +5,13 @@ import {ConnectedOverlayDirective, OverlayModule} from './overlay-directives';
5
5
import { OverlayContainer } from './overlay-container' ;
6
6
import { ConnectedPositionStrategy } from './position/connected-position-strategy' ;
7
7
import { ConnectedOverlayPositionChange } from './position/connected-position' ;
8
+ import { Dir } from '../rtl/dir' ;
8
9
9
10
10
11
describe ( 'Overlay directives' , ( ) => {
11
12
let overlayContainerElement : HTMLElement ;
12
13
let fixture : ComponentFixture < ConnectedOverlayDirectiveTest > ;
14
+ let dir : { value : string } ;
13
15
14
16
beforeEach ( ( ) => {
15
17
TestBed . configureTestingModule ( {
@@ -19,6 +21,9 @@ describe('Overlay directives', () => {
19
21
{ provide : OverlayContainer , useFactory : ( ) => {
20
22
overlayContainerElement = document . createElement ( 'div' ) ;
21
23
return { getContainerElement : ( ) => overlayContainerElement } ;
24
+ } } ,
25
+ { provide : Dir , useFactory : ( ) => {
26
+ return dir = { value : 'ltr' } ;
22
27
} }
23
28
] ,
24
29
} ) ;
@@ -76,6 +81,23 @@ describe('Overlay directives', () => {
76
81
expect ( positions . length ) . toBeGreaterThan ( 0 ) ;
77
82
} ) ;
78
83
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
+
79
101
describe ( 'inputs' , ( ) => {
80
102
81
103
it ( 'should set the width' , ( ) => {
0 commit comments