Merge branch 'master' into set-multi

This commit is contained in:
Björn Harrtell
2016-02-22 09:30:25 +01:00
35 changed files with 529 additions and 478 deletions

View File

@@ -25,8 +25,7 @@ describe('ol.control.ZoomSlider', function() {
describe('DOM creation', function() {
it('creates the expected DOM elements', function() {
var zoomSliderContainers = goog.dom.getElementsByClass(
'ol-zoomslider', target);
var zoomSliderContainers = target.querySelectorAll('.ol-zoomslider');
expect(zoomSliderContainers.length).to.be(1);
@@ -37,8 +36,7 @@ describe('ol.control.ZoomSlider', function() {
'ol-unselectable');
expect(hasUnselectableCls).to.be(true);
var zoomSliderThumbs = goog.dom.getElementsByClass('ol-zoomslider-thumb',
zoomSliderContainer);
var zoomSliderThumbs = zoomSliderContainer.querySelectorAll('.ol-zoomslider-thumb');
expect(zoomSliderThumbs.length).to.be(1);
var zoomSliderThumb = zoomSliderThumbs[0];
@@ -180,7 +178,6 @@ describe('ol.control.ZoomSlider', function() {
goog.require('goog.Disposable');
goog.require('goog.dispose');
goog.require('goog.dom');
goog.require('goog.dom.classlist');
goog.require('goog.math.Rect');
goog.require('ol.Map');

View File

@@ -3,7 +3,7 @@ goog.provide('ol.test.format.GML');
var readGeometry = function(format, text, opt_options) {
var doc = ol.xml.parse(text);
// we need an intermediate node for testing purposes
var node = goog.dom.createElement('PRE');
var node = document.createElement('PRE');
node.appendChild(doc.documentElement);
return format.readGeometryFromNode(node, opt_options);
};
@@ -1256,7 +1256,6 @@ describe('ol.format.GML3', function() {
});
goog.require('goog.dom');
goog.require('ol.format.GML');
goog.require('ol.format.GML2');
goog.require('ol.format.GML3');

View File

@@ -328,6 +328,33 @@ describe('ol.format.WFS', function() {
});
});
describe('when writing out a Transaction request', function() {
it('does not create an update if no fid', function() {
var format = new ol.format.WFS();
var updateFeature = new ol.Feature();
updateFeature.setGeometryName('the_geom');
updateFeature.setGeometry(new ol.geom.MultiLineString([[
[-12279454, 6741885],
[-12064207, 6732101],
[-11941908, 6595126],
[-12240318, 6507071],
[-12416429, 6604910]
]]));
var error = false;
try {
format.writeTransaction(null, [updateFeature], null, {
featureNS: 'http://foo',
featureType: 'FAULTS',
featurePrefix: 'foo',
gmlOptions: {srsName: 'EPSG:900913'}
});
} catch (e) {
error = true;
}
expect(error).to.be(true);
});
});
describe('when writing out a Transaction request', function() {
var text, filename = 'spec/ol/format/wfs/TransactionUpdateMultiGeoms.xml';

View File

@@ -11,7 +11,7 @@ describe('ol.MapBrowserEventHandler', function() {
beforeEach(function() {
clock = sinon.useFakeTimers();
target = goog.dom.createElement('DIV');
target = document.createElement('DIV');
handler = new ol.MapBrowserEventHandler(new ol.Map({
target: target
}));
@@ -111,7 +111,6 @@ describe('ol.MapBrowserEventHandler', function() {
});
});
goog.require('goog.dom');
goog.require('ol.events');
goog.require('ol.Map');
goog.require('ol.MapBrowserEventHandler');

View File

@@ -0,0 +1,25 @@
goog.provide('ol.test.render.canvas');
describe('ol.render.canvas', function() {
describe('rotateAtOffset', function() {
it('rotates a canvas at an offset point', function() {
var context = {
translate: sinon.spy(),
rotate: sinon.spy()
};
ol.render.canvas.rotateAtOffset(context, Math.PI, 10, 10);
expect(context.translate.callCount).to.be(2);
expect(context.translate.firstCall.args).to.eql([10, 10]);
expect(context.translate.secondCall.args).to.eql([-10, -10]);
expect(context.rotate.callCount).to.be(1);
expect(context.rotate.firstCall.args).to.eql([Math.PI]);
});
});
});
goog.require('ol.render');
goog.require('ol.render.canvas');

View File

@@ -0,0 +1,68 @@
goog.provide('ol.test.renderer.canvas.Layer');
describe('ol.renderer.canvas.Layer', function() {
describe('#composeFrame()', function() {
it('clips to layer extent and draws image', function() {
var layer = new ol.layer.Image({
extent: [1, 2, 3, 4]
});
var renderer = new ol.renderer.canvas.Layer(layer);
var image = new Image();
image.width = 3;
image.height = 3;
renderer.getImage = function() {
return image;
};
var frameState = {
viewState: {
center: [2, 3],
resolution: 1,
rotation: 0
},
size: [10, 10],
pixelRatio: 1,
coordinateToPixelMatrix: goog.vec.Mat4.createNumber(),
pixelToCoordinateMatrix: goog.vec.Mat4.createNumber()
};
renderer.getImageTransform = function() {
return goog.vec.Mat4.createNumberIdentity();
}
ol.renderer.Map.prototype.calculateMatrices2D(frameState);
var layerState = layer.getLayerState();
var context = {
save: sinon.spy(),
restore: sinon.spy(),
translate: sinon.spy(),
rotate: sinon.spy(),
beginPath: sinon.spy(),
moveTo: sinon.spy(),
lineTo: sinon.spy(),
clip: sinon.spy(),
drawImage: sinon.spy()
}
renderer.composeFrame(frameState, layerState, context);
expect(context.save.callCount).to.be(1);
expect(context.translate.callCount).to.be(0);
expect(context.rotate.callCount).to.be(0);
expect(context.beginPath.callCount).to.be(1);
expect(context.moveTo.firstCall.args).to.eql([4, 4]);
expect(context.lineTo.firstCall.args).to.eql([6, 4]);
expect(context.lineTo.secondCall.args).to.eql([6, 6]);
expect(context.lineTo.thirdCall.args).to.eql([4, 6]);
expect(context.clip.callCount).to.be(1);
expect(context.drawImage.firstCall.args).to.eql(
[renderer.getImage(), 0, 0, 3, 3, 0, 0, 3, 3]);
expect(context.restore.callCount).to.be(1);
});
});
});
goog.require('ol.render.canvas');
goog.require('goog.vec.Mat4');
goog.require('ol.layer.Image');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.Layer');

View File

@@ -21,7 +21,7 @@ describe('ol.reproj.Tile', function() {
return new ol.reproj.Tile(
proj3857, ol.tilegrid.createForProjection(proj3857), proj4326,
ol.tilegrid.createForProjection(proj4326, 3, opt_tileSize),
[3, 2, -2], null, pixelRatio, function(z, x, y, pixelRatio) {
[3, 2, -2], null, pixelRatio, 0, function(z, x, y, pixelRatio) {
return new ol.ImageTile([z, x, y], ol.TileState.IDLE,
'data:image/gif;base64,' +
'R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=', null,
@@ -48,7 +48,7 @@ describe('ol.reproj.Tile', function() {
var tile = new ol.reproj.Tile(
proj3857, ol.tilegrid.createForProjection(proj3857),
proj4326, ol.tilegrid.createForProjection(proj4326),
[0, -1, 0], null, 1, function() {
[0, -1, 0], null, 1, 0, function() {
expect().fail('No tiles should be required');
});
expect(tile.getState()).to.be(ol.TileState.EMPTY);
@@ -60,7 +60,7 @@ describe('ol.reproj.Tile', function() {
var tile = new ol.reproj.Tile(
proj27700, ol.tilegrid.createForProjection(proj27700),
proj4326, ol.tilegrid.createForProjection(proj4326),
[3, 2, -2], null, 1, function() {
[3, 2, -2], null, 1, 0, function() {
expect().fail('No tiles should be required');
});
expect(tile.getState()).to.be(ol.TileState.EMPTY);