Files
iD/test/spec/Map.js
John Firebaugh 26ef972199 Restore map.surface
Fixes #166
2012-12-03 10:49:54 -05:00

70 lines
2.0 KiB
JavaScript

describe('Map', function() {
var container, map;
beforeEach(function() {
container = d3.select('body').append('div');
map = iD.Map();
container.call(map);
});
afterEach(function() {
container.remove();
});
describe('#connection', function() {
it('gets and sets connection', function() {
var connection = {};
expect(map.connection(connection)).toBe(map);
expect(map.connection()).toBe(connection);
});
});
describe('#zoom', function() {
it('gets and sets zoom level', function() {
expect(map.zoom(4)).toEqual(map);
expect(map.zoom()).toEqual(4);
});
});
describe('#zoomIn', function() {
it('increments zoom', function() {
expect(map.zoom(4)).toEqual(map);
expect(map.zoomIn()).toEqual(map);
expect(map.zoom()).toEqual(5);
});
});
describe('#zoomOut', function() {
it('decrements zoom', function() {
expect(map.zoom(4)).toEqual(map);
expect(map.zoomOut()).toEqual(map);
expect(map.zoom()).toEqual(3);
});
});
describe('#center', function() {
it('gets and sets center', function() {
expect(map.center([0, 0])).toEqual(map);
expect(map.center()).toEqual([0, 0]);
expect(map.center([10, 15])).toEqual(map);
expect(map.center()[0]).toBeCloseTo(10);
expect(map.center()[1]).toBeCloseTo(15);
});
});
describe('#extent', function() {
it('reports extent', function() {
expect(map.size([100, 100])).toEqual(map);
expect(map.center([0, 0])).toEqual(map);
expect(map.extent()[0][0]).toBeCloseTo(-36);
expect(map.extent()[1][0]).toBeCloseTo(36);
});
});
describe("surface", function() {
it("is an SVG element", function() {
expect(map.surface.node().tagName).toEqual("svg");
});
});
});