Skip to content

Commit

Permalink
Humble beginnings of a test suite.
Browse files Browse the repository at this point in the history
  • Loading branch information
bshelton229 committed Apr 30, 2013
1 parent fe5c3a0 commit 3e30ca1
Show file tree
Hide file tree
Showing 5 changed files with 102 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
19 changes: 19 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "Leaflet.zoomslider",
"version": "0.6.0",
"description": "A zoom slider widget for Leaflet",
"devDependencies": {
"jshint": "~1.1.0",
"mocha": "~1.9.0",
"karma": "~0.8.0",
"uglify-js": "~2.2.5",
"jake": "~0.5.10",
"expect.js": "~0.2.0"
},
"main": "src/L.Control.Zoomslider.js",
"repository": {
"type": "git",
"url": "git://github.com/kartena/Leaflet.zoomslider.git"
},
"keywords": ["maps", "leaflet"]
}
24 changes: 24 additions & 0 deletions spec/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<html>
<head>
<meta charset="utf-8">
<title>L.Control.Zoomslider Spec</title>
<link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
</head>
<body>
<div id="mocha"></div>
<script src="../node_modules/mocha/mocha.js"></script>
<script src="../node_modules/expect.js/expect.js"></script>
<script src="../examples/lib/Leaflet/dist/leaflet-src.js"></script>
<script src="../src/L.Control.Zoomslider.js" ></script>
<script src="../examples/lib/leaflet-tilejson/src/tilejson.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="../examples/osm.tilejson.js"></script>
<script>mocha.setup('bdd')</script>

<script src="zoomslider_leaflet_control_spec.js"></script>
<script src="zooming_spec.js"></script>
<script>
mocha.run();
</script>
</body>
</html>
45 changes: 45 additions & 0 deletions spec/zooming_spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
describe('Zooming behavior', function() {
var map;

beforeEach(function() {
map = L.map(document.createElement('div'), { zoomAnimation: false, minZoom: 0, maxZoom: 19 }).setView([0,0], 16);
});

describe('Buttons', function() {
it('Should be able to zoom in', function() {
map.setZoom(16);
expect(map.getZoom()).to.eql(16);
map.zoomsliderControl._zoomInButton.click();
expect(map.getZoom()).to.eql(17);
});

it('Should be able to zoom out', function() {
map.setZoom(16);
expect(map.getZoom()).to.eql(16);
map.zoomsliderControl._zoomOutButton.click();
expect(map.getZoom()).to.eql(15);
});
});

describe('Knob', function() {
var knob;

beforeEach(function() {
knob = map.zoomsliderControl._knob;
});

it('Should set max value to be map maxZoom - minZoom', function() {
expect( knob._maxValue ).to.eql( map.getMaxZoom() - map.getMinZoom() );
});

it('Should match the map zoom level', function() {
map.zoomIn();
expect(map.getZoom()).to.eql(17);
expect(knob.getValue()).to.eql(17);

map.setZoom(2);
expect(map.getZoom()).to.eql(2);
expect(knob.getValue()).to.eql(2);
});
});
});
13 changes: 13 additions & 0 deletions spec/zoomslider_leaflet_control_spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
describe('Control', function() {
var map;

it('Should add itself to the map unless zoomSliderControl is false', function() {
map = L.map(document.createElement('div'), { zoomAnimation: false }).setView([0,0], 16);
expect(map.zoomsliderControl).to.be.an(L.Control.Zoomslider);
});

it('Should not add itself to the map if zoomSliderControl is set to false', function() {
map = L.map(document.createElement('div'), { zoomAnimation: false, zoomsliderControl: false }).setView([0,0], 16);
expect(map.zoomsliderControl).to.be(undefined);
});
});

0 comments on commit 3e30ca1

Please sign in to comment.