@@ -55,3 +55,70 @@ describe('Check sidebar configurations', function() {
5555 expect ( sidebar . _closeButtons . length ) . toBe ( 1 ) ;
5656 } ) ;
5757} ) ;
58+
59+ describe ( 'Check sidebar API' , function ( ) {
60+ var map , sidebar ;
61+
62+ beforeEach ( function ( ) {
63+ document . body . innerHTML =
64+ '<div id="sidebar" class="sidebar collapsed">' +
65+ ' <div class="sidebar-tabs">' +
66+ ' <ul>' +
67+ ' <li><a href="#home">Home</a></li>' +
68+ ' </ul>' +
69+ ' </div>' +
70+ ' <div class="sidebar-content">' +
71+ ' <div class="sidebar-pane">' +
72+ ' <span class="sidebar-close"></span>' +
73+ ' </div>' +
74+ ' </div>' +
75+ '</div>' +
76+ '<div id="map" class="sidebar-map"></div>' ;
77+ map = new ol . Map ( {
78+ target : 'map' ,
79+ layers : [
80+ new ol . layer . Tile ( {
81+ source : new ol . source . OSM ( )
82+ } )
83+ ] ,
84+ view : new ol . View ( {
85+ center : ol . proj . transform ( [ 7 , 51.2 ] , 'EPSG:4326' , 'EPSG:3857' ) ,
86+ zoom : 4
87+ } )
88+ } ) ;
89+ sidebar = new ol . control . Sidebar ( { element : 'sidebar' } ) ;
90+ } ) ;
91+
92+ test ( 'Sidebar control gets added to map' , function ( ) {
93+ var numControlsBefore = map . getControls ( ) . getArray ( ) . length ;
94+ map . addControl ( sidebar ) ;
95+ var numControlsAfter = map . getControls ( ) . getArray ( ) . length ;
96+
97+ expect ( numControlsAfter - numControlsBefore ) . toBe ( 1 ) ;
98+ } ) ;
99+
100+ test ( 'Sidebar is not collapsed when opened' , function ( ) {
101+ map . addControl ( sidebar ) ;
102+ sidebar . open ( ) ;
103+ var sidebarDivClass = document . getElementById ( 'sidebar' ) . getAttribute ( 'class' ) ;
104+
105+ expect ( sidebarDivClass ) . not . toContain ( 'collapsed' ) ;
106+ } ) ;
107+
108+ test ( 'Sidebar is collapsed after being closed' , function ( ) {
109+ map . addControl ( sidebar ) ;
110+ var sidebarDivClass = document . getElementById ( 'sidebar' ) . getAttribute ( 'class' ) ;
111+
112+ expect ( sidebarDivClass ) . toContain ( 'collapsed' ) ;
113+
114+ sidebar . open ( ) ;
115+
116+ sidebarDivClass = document . getElementById ( 'sidebar' ) . getAttribute ( 'class' ) ;
117+ expect ( sidebarDivClass ) . not . toContain ( 'collapsed' ) ;
118+
119+ sidebar . close ( ) ;
120+
121+ sidebarDivClass = document . getElementById ( 'sidebar' ) . getAttribute ( 'class' ) ;
122+ expect ( sidebarDivClass ) . toContain ( 'collapsed' ) ;
123+ } ) ;
124+ } ) ;
0 commit comments