Skip to content

Commit d858953

Browse files
committed
Add basic tests of Sidebar API
1 parent 20ee27c commit d858953

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

tests/sidebar-ol.test.js

+67
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)