diff --git a/test/spec/ol/renderer/canvas/canvasmaprenderer.test.js b/test/spec/ol/renderer/canvas/canvasmaprenderer.test.js new file mode 100644 index 0000000000..c4894f3f7a --- /dev/null +++ b/test/spec/ol/renderer/canvas/canvasmaprenderer.test.js @@ -0,0 +1,71 @@ +goog.provide('ol.test.renderer.canvas.Map'); + +describe('ol.renderer.canvas.Map', function() { + + describe('constructor', function() { + + it('creates a new instance', function() { + var map = new ol.Map({ + target: document.createElement('div') + }); + var renderer = new ol.renderer.canvas.Map(map.viewport_, map); + expect(renderer).to.be.a(ol.renderer.canvas.Map); + }); + + }); + + describe('#renderFrame()', function() { + var layer, map, renderer; + + beforeEach(function() { + map = new ol.Map({}); + layer = new ol.layer.Vector({ + source: new ol.source.Vector({wrapX: true}) + }); + renderer = map.getRenderer(); + renderer.layerRenderers_ = {}; + var layerRenderer = new ol.renderer.canvas.Layer(layer); + layerRenderer.prepareFrame = function() { return true; }; + layerRenderer.getImage = function() { return null; }; + renderer.layerRenderers_[goog.getUid(layer)] = layerRenderer; + }); + + it('calls #dispatchComposeEvent_() with a wrapX argument', function() { + var spy = sinon.spy(renderer, 'dispatchComposeEvent_'); + var frameState = { + coordinateToPixelMatrix: map.coordinateToPixelMatrix_, + pixelToCoordinateMatrix: map.pixelToCoordinateMatrix_, + pixelRatio: 1, + size: [100, 100], + skippedFeatureUids: {}, + viewState: { + center: [0, 0], + resolution: 1, + rotation: 0 + }, + layerStates: {}, + layerStatesArray: [{ + layer: layer, + sourceState: 'ready', + visible: true, + minResolution: 1, + maxResolution: 2 + }], + postRenderFunctions: [] + }; + renderer.renderFrame(frameState); + // precompose without wrapX + expect(spy.getCall(0).args[2]).to.be(undefined); + // postcompose with wrapX + expect(spy.getCall(1).args[2]).to.be(true); + }); + }); + +}); + + +goog.require('ol.layer.Vector'); +goog.require('ol.Map'); +goog.require('ol.renderer.canvas.Layer'); +goog.require('ol.renderer.canvas.Map'); +goog.require('ol.source.Vector'); diff --git a/test/spec/ol/renderer/canvas/canvasvectorlayerrenderer.test.js b/test/spec/ol/renderer/canvas/canvasvectorlayerrenderer.test.js index 2457dae729..ca7d8f3c52 100644 --- a/test/spec/ol/renderer/canvas/canvasvectorlayerrenderer.test.js +++ b/test/spec/ol/renderer/canvas/canvasvectorlayerrenderer.test.js @@ -5,14 +5,10 @@ describe('ol.renderer.canvas.VectorLayer', function() { describe('constructor', function() { it('creates a new instance', function() { - var map = new ol.Map({ - target: document.createElement('div') - }); var layer = new ol.layer.Vector({ source: new ol.source.Vector() }); - var renderer = new ol.renderer.canvas.VectorLayer(map.getRenderer(), - layer); + var renderer = new ol.renderer.canvas.VectorLayer(layer); expect(renderer).to.be.a(ol.renderer.canvas.VectorLayer); }); @@ -62,12 +58,10 @@ describe('ol.renderer.canvas.VectorLayer', function() { var renderer; beforeEach(function() { - var map = new ol.Map({}); var layer = new ol.layer.Vector({ source: new ol.source.Vector() }); - renderer = new ol.renderer.canvas.VectorLayer( - map.getRenderer(), layer); + renderer = new ol.renderer.canvas.VectorLayer(layer); var replayGroup = {}; renderer.replayGroup_ = replayGroup; replayGroup.forEachFeatureAtCoordinate = function(coordinate,