diff --git a/test/spec/ol/renderer/canvas/tilelayer.test.js b/test/spec/ol/renderer/canvas/tilelayer.test.js new file mode 100644 index 0000000000..27d6a44066 --- /dev/null +++ b/test/spec/ol/renderer/canvas/tilelayer.test.js @@ -0,0 +1,48 @@ +goog.provide('ol.test.renderer.canvas.TileLayer'); + +goog.require('ol.transform'); +goog.require('ol.layer.Tile'); +goog.require('ol.renderer.Map'); +goog.require('ol.renderer.canvas.TileLayer'); +goog.require('ol.source.XYZ'); + + +describe('ol.renderer.canvas.TileLayer', function() { + + describe('#composeFrame()', function() { + it('uses correct draw scale when rotating (HiDPI)', function() { + var layer = new ol.layer.Tile({ + source: new ol.source.XYZ() + }); + var renderer = new ol.renderer.canvas.TileLayer(layer); + renderer.renderedTiles = []; + var frameState = { + viewState: { + center: [2, 3], + projection: ol.proj.get('EPSG:3857'), + resolution: 1, + rotation: Math.PI + }, + size: [10, 10], + pixelRatio: 2, + coordinateToPixelTransform: ol.transform.create(), + pixelToCoordinateTransform: ol.transform.create() + }; + renderer.getImageTransform = function() { + return ol.transform.create(); + }; + ol.renderer.Map.prototype.calculateMatrices2D(frameState); + var layerState = layer.getLayerState(); + var canvas = document.createElement('canvas'); + canvas.width = 200; + canvas.height = 100; + var context = { + canvas: canvas, + drawImage: sinon.spy() + }; + renderer.composeFrame(frameState, layerState, context); + expect(context.drawImage.firstCall.args[0].width).to.be(112); + }); + }); + +}); diff --git a/test/spec/ol/source/tilewms.test.js b/test/spec/ol/source/tilewms.test.js index 72f986e95a..6f57355081 100644 --- a/test/spec/ol/source/tilewms.test.js +++ b/test/spec/ol/source/tilewms.test.js @@ -265,11 +265,13 @@ describe('ol.source.TileWMS', function() { }); describe('#setUrl()', function() { - var source = new ol.source.TileWMS(options); - var url = 'http://foo/'; - source.setUrl(url); - var tileUrl = source.tileUrlFunction([0, 0, 0], 1, ol.proj.get('EPSG:4326')); - expect(tileUrl.indexOf(url)).to.be(0); + it('sets the correct url', function() { + var source = new ol.source.TileWMS(options); + var url = 'http://foo/'; + source.setUrl(url); + var tileUrl = source.tileUrlFunction([0, 0, 0], 1, ol.proj.get('EPSG:4326')); + expect(tileUrl.indexOf(url)).to.be(0); + }); }); describe('#setUrls()', function() {