Transformed

This commit is contained in:
Tim Schaub
2017-12-11 16:29:33 -07:00
parent 1cdb6a66f0
commit 7f47883c48
737 changed files with 22216 additions and 21609 deletions
+12 -14
View File
@@ -1,10 +1,8 @@
goog.require('ol.Disposable');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.geom.Polygon');
goog.require('ol.render.Box');
import _ol_Disposable_ from '../../../../src/ol/Disposable.js';
import _ol_Map_ from '../../../../src/ol/Map.js';
import _ol_View_ from '../../../../src/ol/View.js';
import _ol_geom_Polygon_ from '../../../../src/ol/geom/Polygon.js';
import _ol_render_Box_ from '../../../../src/ol/render/Box.js';
describe('ol.render.Box', function() {
@@ -12,14 +10,14 @@ describe('ol.render.Box', function() {
var box, map, target;
beforeEach(function() {
box = new ol.render.Box('test-box');
box = new _ol_render_Box_('test-box');
target = document.createElement('div');
document.body.appendChild(target);
map = new ol.Map({
map = new _ol_Map_({
target: target,
view: new ol.View({
view: new _ol_View_({
center: [0, 0],
zoom: 0
})
@@ -35,9 +33,9 @@ describe('ol.render.Box', function() {
describe('constructor', function() {
it('creates an instance', function() {
var obj = new ol.render.Box('test-box');
expect(obj).to.be.a(ol.render.Box);
expect(obj).to.be.a(ol.Disposable);
var obj = new _ol_render_Box_('test-box');
expect(obj).to.be.a(_ol_render_Box_);
expect(obj).to.be.a(_ol_Disposable_);
obj.dispose();
});
it('creates an absolutely positioned DIV with a className', function() {
@@ -69,7 +67,7 @@ describe('ol.render.Box', function() {
it('creates a polygon geometry', function() {
expect(box.getGeometry()).to.be(null);
box.setPixels([1, 2], [3, 4]);
expect(box.getGeometry()).to.be.a(ol.geom.Polygon);
expect(box.getGeometry()).to.be.a(_ol_geom_Polygon_);
});
});
+45 -47
View File
@@ -1,20 +1,18 @@
goog.require('ol.geom.Circle');
goog.require('ol.geom.GeometryCollection');
goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.render.VectorContext');
goog.require('ol.render.canvas.Immediate');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.style.Text');
import _ol_geom_Circle_ from '../../../../../src/ol/geom/Circle.js';
import _ol_geom_GeometryCollection_ from '../../../../../src/ol/geom/GeometryCollection.js';
import _ol_geom_LineString_ from '../../../../../src/ol/geom/LineString.js';
import _ol_geom_MultiLineString_ from '../../../../../src/ol/geom/MultiLineString.js';
import _ol_geom_MultiPoint_ from '../../../../../src/ol/geom/MultiPoint.js';
import _ol_geom_MultiPolygon_ from '../../../../../src/ol/geom/MultiPolygon.js';
import _ol_geom_Point_ from '../../../../../src/ol/geom/Point.js';
import _ol_geom_Polygon_ from '../../../../../src/ol/geom/Polygon.js';
import _ol_render_VectorContext_ from '../../../../../src/ol/render/VectorContext.js';
import _ol_render_canvas_Immediate_ from '../../../../../src/ol/render/canvas/Immediate.js';
import _ol_style_Circle_ from '../../../../../src/ol/style/Circle.js';
import _ol_style_Fill_ from '../../../../../src/ol/style/Fill.js';
import _ol_style_Stroke_ from '../../../../../src/ol/style/Stroke.js';
import _ol_style_Style_ from '../../../../../src/ol/style/Style.js';
import _ol_style_Text_ from '../../../../../src/ol/style/Text.js';
describe('ol.render.canvas.Immediate', function() {
@@ -32,23 +30,23 @@ describe('ol.render.canvas.Immediate', function() {
describe('constructor', function() {
it('creates an instance', function() {
var instance = new ol.render.canvas.Immediate();
expect(instance).to.be.a(ol.render.canvas.Immediate);
expect(instance).to.be.a(ol.render.VectorContext);
var instance = new _ol_render_canvas_Immediate_();
expect(instance).to.be.a(_ol_render_canvas_Immediate_);
expect(instance).to.be.a(_ol_render_VectorContext_);
});
});
describe('#setStyle()', function() {
it('calls the more specific methods with style parts', function() {
var context = new ol.render.canvas.Immediate();
var context = new _ol_render_canvas_Immediate_();
sinon.spy(context, 'setFillStrokeStyle');
sinon.spy(context, 'setImageStyle');
sinon.spy(context, 'setTextStyle');
var fill = new ol.style.Fill({});
var stroke = new ol.style.Stroke({});
var text = new ol.style.Text({});
var image = new ol.style.Circle({});
var style = new ol.style.Style({
var fill = new _ol_style_Fill_({});
var stroke = new _ol_style_Stroke_({});
var text = new _ol_style_Text_({});
var image = new _ol_style_Circle_({});
var style = new _ol_style_Style_({
fill: fill,
stroke: stroke,
image: image,
@@ -70,77 +68,77 @@ describe('ol.render.canvas.Immediate', function() {
var extent = [-10, -10, 10, 10];
it('calls drawPoint() with a Point', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawPoint');
var geometry = new ol.geom.Point([1, 2]);
var geometry = new _ol_geom_Point_([1, 2]);
context.drawGeometry(geometry);
expect(context.drawPoint.calledOnce).to.be(true);
expect(context.drawPoint.firstCall.calledWithExactly(geometry)).to.be(true);
});
it('calls drawLineString() with a LineString', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawLineString');
var geometry = new ol.geom.LineString([[1, 2], [3, 4]]);
var geometry = new _ol_geom_LineString_([[1, 2], [3, 4]]);
context.drawGeometry(geometry);
expect(context.drawLineString.calledOnce).to.be(true);
expect(context.drawLineString.firstCall.calledWithExactly(geometry)).to.be(true);
});
it('calls drawPolygon() with a Polygon', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawPolygon');
var geometry = new ol.geom.Polygon([[[1, 2], [3, 4], [5, 6], [1, 2]]]);
var geometry = new _ol_geom_Polygon_([[[1, 2], [3, 4], [5, 6], [1, 2]]]);
context.drawGeometry(geometry);
expect(context.drawPolygon.calledOnce).to.be(true);
expect(context.drawPolygon.firstCall.calledWithExactly(geometry)).to.be(true);
});
it('calls drawMultiPoint() with a MultiPoint', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawMultiPoint');
var geometry = new ol.geom.MultiPoint([[1, 2], [3, 4]]);
var geometry = new _ol_geom_MultiPoint_([[1, 2], [3, 4]]);
context.drawGeometry(geometry);
expect(context.drawMultiPoint.calledOnce).to.be(true);
expect(context.drawMultiPoint.firstCall.calledWithExactly(geometry)).to.be(true);
});
it('calls drawMultiLineString() with a MultiLineString', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawMultiLineString');
var geometry = new ol.geom.MultiLineString([[[1, 2], [3, 4]]]);
var geometry = new _ol_geom_MultiLineString_([[[1, 2], [3, 4]]]);
context.drawGeometry(geometry);
expect(context.drawMultiLineString.calledOnce).to.be(true);
expect(context.drawMultiLineString.firstCall.calledWithExactly(geometry)).to.be(true);
});
it('calls drawMultiPolygon() with a MultiPolygon', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawMultiPolygon');
var geometry = new ol.geom.MultiPolygon([[[[1, 2], [3, 4], [5, 6], [1, 2]]]]);
var geometry = new _ol_geom_MultiPolygon_([[[[1, 2], [3, 4], [5, 6], [1, 2]]]]);
context.drawGeometry(geometry);
expect(context.drawMultiPolygon.calledOnce).to.be(true);
expect(context.drawMultiPolygon.firstCall.calledWithExactly(geometry)).to.be(true);
});
it('calls drawGeometryCollection() with a GeometryCollection', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawGeometryCollection');
sinon.spy(context, 'drawPoint');
sinon.spy(context, 'drawLineString');
sinon.spy(context, 'drawPolygon');
var point = new ol.geom.Point([1, 2]);
var linestring = new ol.geom.LineString([[1, 2], [3, 4]]);
var polygon = new ol.geom.Polygon([[[1, 2], [3, 4], [5, 6], [1, 2]]]);
var point = new _ol_geom_Point_([1, 2]);
var linestring = new _ol_geom_LineString_([[1, 2], [3, 4]]);
var polygon = new _ol_geom_Polygon_([[[1, 2], [3, 4], [5, 6], [1, 2]]]);
var geometry = new ol.geom.GeometryCollection([point, linestring, polygon]);
var geometry = new _ol_geom_GeometryCollection_([point, linestring, polygon]);
context.drawGeometry(geometry);
expect(context.drawGeometryCollection.calledOnce).to.be(true);
@@ -153,10 +151,10 @@ describe('ol.render.canvas.Immediate', function() {
});
it('calls drawCircle() with a Circle', function() {
var context = new ol.render.canvas.Immediate(getMockContext(), 1, extent);
var context = new _ol_render_canvas_Immediate_(getMockContext(), 1, extent);
sinon.spy(context, 'drawCircle');
var geometry = new ol.geom.Circle([0, 0]);
var geometry = new _ol_geom_Circle_([0, 0]);
context.drawGeometry(geometry);
expect(context.drawCircle.calledOnce).to.be(true);
@@ -225,7 +223,7 @@ describe('ol.render.canvas.Immediate', function() {
-7572748.158493212, 3741317.9895594316
];
var canvas = new ol.render.canvas.Immediate(context, 1, extent, transform);
var canvas = new _ol_render_canvas_Immediate_(context, 1, extent, transform);
canvas.strokeState_ = {
lineCap: 'round',
@@ -236,7 +234,7 @@ describe('ol.render.canvas.Immediate', function() {
strokeStyle: '#00FFFF'
};
var multiPolygonGeometry = new ol.geom.MultiPolygon([[[
var multiPolygonGeometry = new _ol_geom_MultiPolygon_([[[
// first polygon
[-80.736061, 28.788576000000006, 0], // moveTo()
[-80.763557, 28.821799999999996, 0], // lineTo()
+26 -26
View File
@@ -1,6 +1,6 @@
goog.require('ol.events');
goog.require('ol.obj');
goog.require('ol.render.canvas');
import _ol_events_ from '../../../../../src/ol/events.js';
import _ol_obj_ from '../../../../../src/ol/obj.js';
import _ol_render_canvas_ from '../../../../../src/ol/render/canvas.js';
describe('ol.render.canvas', function() {
@@ -13,25 +13,25 @@ describe('ol.render.canvas', function() {
describe('ol.render.canvas.checkFont()', function() {
beforeEach(function() {
ol.obj.clear(ol.render.canvas.checkedFonts_);
ol.render.canvas.getMeasureContext();
ol.render.canvas.measureTextHeight('12px sans-serif');
_ol_obj_.clear(_ol_render_canvas_.checkedFonts_);
_ol_render_canvas_.getMeasureContext();
_ol_render_canvas_.measureTextHeight('12px sans-serif');
});
var checkFont = ol.render.canvas.checkFont;
var checkFont = _ol_render_canvas_.checkFont;
var retries = 60;
it('does not clear label cache and measurements for unavailable fonts', function(done) {
this.timeout(3000);
var spy = sinon.spy();
ol.events.listen(ol.render.canvas.labelCache, 'clear', spy);
_ol_events_.listen(_ol_render_canvas_.labelCache, 'clear', spy);
var interval = setInterval(function() {
if (ol.render.canvas.checkedFonts_['foo'] == retries && ol.render.canvas.checkedFonts_['sans-serif'] == retries) {
if (_ol_render_canvas_.checkedFonts_['foo'] == retries && _ol_render_canvas_.checkedFonts_['sans-serif'] == retries) {
clearInterval(interval);
ol.events.unlisten(ol.render.canvas.labelCache, 'clear', spy);
_ol_events_.unlisten(_ol_render_canvas_.labelCache, 'clear', spy);
expect(spy.callCount).to.be(0);
expect(ol.render.canvas.measureContext_).to.not.be(null);
expect(ol.render.canvas.textHeights_).to.not.eql({});
expect(_ol_render_canvas_.measureContext_).to.not.be(null);
expect(_ol_render_canvas_.textHeights_).to.not.eql({});
done();
}
}, 32);
@@ -40,14 +40,14 @@ describe('ol.render.canvas', function() {
it('does not clear label cache and measurements for available fonts', function(done) {
var spy = sinon.spy();
ol.events.listen(ol.render.canvas.labelCache, 'clear', spy);
_ol_events_.listen(_ol_render_canvas_.labelCache, 'clear', spy);
var interval = setInterval(function() {
if (ol.render.canvas.checkedFonts_['sans-serif'] == retries) {
if (_ol_render_canvas_.checkedFonts_['sans-serif'] == retries) {
clearInterval(interval);
ol.events.unlisten(ol.render.canvas.labelCache, 'clear', spy);
_ol_events_.unlisten(_ol_render_canvas_.labelCache, 'clear', spy);
expect(spy.callCount).to.be(0);
expect(ol.render.canvas.measureContext_).to.not.be(null);
expect(ol.render.canvas.textHeights_).to.not.eql({});
expect(_ol_render_canvas_.measureContext_).to.not.be(null);
expect(_ol_render_canvas_.textHeights_).to.not.eql({});
done();
}
}, 32);
@@ -56,14 +56,14 @@ describe('ol.render.canvas', function() {
it('does not clear label cache and measurements for the \'monospace\' font', function(done) {
var spy = sinon.spy();
ol.events.listen(ol.render.canvas.labelCache, 'clear', spy);
_ol_events_.listen(_ol_render_canvas_.labelCache, 'clear', spy);
var interval = setInterval(function() {
if (ol.render.canvas.checkedFonts_['monospace'] == retries) {
if (_ol_render_canvas_.checkedFonts_['monospace'] == retries) {
clearInterval(interval);
ol.events.unlisten(ol.render.canvas.labelCache, 'clear', spy);
_ol_events_.unlisten(_ol_render_canvas_.labelCache, 'clear', spy);
expect(spy.callCount).to.be(0);
expect(ol.render.canvas.measureContext_).to.not.be(null);
expect(ol.render.canvas.textHeights_).to.not.eql({});
expect(_ol_render_canvas_.measureContext_).to.not.be(null);
expect(_ol_render_canvas_.textHeights_).to.not.eql({});
done();
}
}, 32);
@@ -72,9 +72,9 @@ describe('ol.render.canvas', function() {
it('clears label cache and measurements for fonts that become available', function(done) {
head.appendChild(font);
ol.events.listen(ol.render.canvas.labelCache, 'clear', function() {
expect(ol.render.canvas.measureContext_).to.be(null);
expect(ol.render.canvas.textHeights_).to.eql({});
_ol_events_.listen(_ol_render_canvas_.labelCache, 'clear', function() {
expect(_ol_render_canvas_.measureContext_).to.be(null);
expect(_ol_render_canvas_.textHeights_).to.eql({});
done();
});
checkFont('12px Abel');
@@ -89,7 +89,7 @@ describe('ol.render.canvas', function() {
translate: sinon.spy(),
rotate: sinon.spy()
};
ol.render.canvas.rotateAtOffset(context, Math.PI, 10, 10);
_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]);
@@ -1,6 +1,4 @@
goog.require('ol.render.canvas.ReplayGroup');
import _ol_render_canvas_ReplayGroup_ from '../../../../../src/ol/render/canvas/ReplayGroup.js';
describe('ol.render.canvas.ReplayGroup', function() {
@@ -10,7 +8,7 @@ describe('ol.render.canvas.ReplayGroup', function() {
var radius = 10;
var minRadiusSq = Math.pow(radius - Math.SQRT2, 2);
var maxRadiusSq = Math.pow(radius + Math.SQRT2, 2);
var circleArray = ol.render.canvas.ReplayGroup.getCircleArray_(radius);
var circleArray = _ol_render_canvas_ReplayGroup_.getCircleArray_(radius);
var size = radius * 2 + 1;
expect(circleArray.length).to.be(size);
+15 -15
View File
@@ -1,23 +1,23 @@
goog.require('ol.Feature');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Polygon');
goog.require('ol.render.canvas.TextReplay');
goog.require('ol.style.Text');
import _ol_Feature_ from '../../../../../src/ol/Feature.js';
import _ol_geom_MultiPolygon_ from '../../../../../src/ol/geom/MultiPolygon.js';
import _ol_geom_Polygon_ from '../../../../../src/ol/geom/Polygon.js';
import _ol_render_canvas_TextReplay_ from '../../../../../src/ol/render/canvas/TextReplay.js';
import _ol_style_Text_ from '../../../../../src/ol/style/Text.js';
describe('ol.render.canvas.TextReplay', function() {
it('renders polygon labels only when they fit', function() {
var replay = new ol.render.canvas.TextReplay(1, [-180, -90, 180, 90], 0.02, 1, true);
var geometry = new ol.geom.Polygon([[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]]);
var feature = new ol.Feature(geometry);
var replay = new _ol_render_canvas_TextReplay_(1, [-180, -90, 180, 90], 0.02, 1, true);
var geometry = new _ol_geom_Polygon_([[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]]);
var feature = new _ol_Feature_(geometry);
replay.setTextStyle(new ol.style.Text({
replay.setTextStyle(new _ol_style_Text_({
text: 'This is a long text'
}));
replay.drawText(geometry, feature);
expect(replay.instructions.length).to.be(0);
replay.setTextStyle(new ol.style.Text({
replay.setTextStyle(new _ol_style_Text_({
text: 'short'
}));
replay.drawText(geometry, feature);
@@ -25,20 +25,20 @@ describe('ol.render.canvas.TextReplay', function() {
});
it('renders multipolygon labels only when they fit', function() {
var replay = new ol.render.canvas.TextReplay(1, [-180, -90, 180, 90], 0.02, 1, true);
var geometry = new ol.geom.MultiPolygon([
var replay = new _ol_render_canvas_TextReplay_(1, [-180, -90, 180, 90], 0.02, 1, true);
var geometry = new _ol_geom_MultiPolygon_([
[[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]],
[[[1, 1], [1, 2], [2, 2], [2, 1], [1, 1]]]
]);
var feature = new ol.Feature(geometry);
var feature = new _ol_Feature_(geometry);
replay.setTextStyle(new ol.style.Text({
replay.setTextStyle(new _ol_style_Text_({
text: 'This is a long text'
}));
replay.drawText(geometry, feature);
expect(replay.instructions.length).to.be(0);
replay.setTextStyle(new ol.style.Text({
replay.setTextStyle(new _ol_style_Text_({
text: 'short'
}));
replay.drawText(geometry, feature);
+16 -16
View File
@@ -1,8 +1,8 @@
goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Polygon');
goog.require('ol.render.Feature');
import _ol_geom_LineString_ from '../../../../src/ol/geom/LineString.js';
import _ol_geom_MultiLineString_ from '../../../../src/ol/geom/MultiLineString.js';
import _ol_geom_MultiPolygon_ from '../../../../src/ol/geom/MultiPolygon.js';
import _ol_geom_Polygon_ from '../../../../src/ol/geom/Polygon.js';
import _ol_render_Feature_ from '../../../../src/ol/render/Feature.js';
describe('ol.render.Feature', function() {
@@ -16,8 +16,8 @@ describe('ol.render.Feature', function() {
describe('Constructor', function() {
it('creates an instance', function() {
renderFeature =
new ol.render.Feature(type, flatCoordinates, ends, properties, 'foo');
expect(renderFeature).to.be.a(ol.render.Feature);
new _ol_render_Feature_(type, flatCoordinates, ends, properties, 'foo');
expect(renderFeature).to.be.a(_ol_render_Feature_);
});
});
@@ -42,7 +42,7 @@ describe('ol.render.Feature', function() {
});
it('returns the correct extent for a linestring', function() {
var feature =
new ol.render.Feature('LineString', [-1, -2, 2, 1], null, {});
new _ol_render_Feature_('LineString', [-1, -2, 2, 1], null, {});
expect(feature.getExtent()).to.eql([-1, -2, 2, 1]);
});
});
@@ -55,8 +55,8 @@ describe('ol.render.Feature', function() {
describe('#getFlatInteriorPoint()', function() {
it('returns correct point and caches it', function() {
var polygon = new ol.geom.Polygon([[[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]]);
var feature = new ol.render.Feature('Polygon', polygon.getOrientedFlatCoordinates(),
var polygon = new _ol_geom_Polygon_([[[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]]);
var feature = new _ol_render_Feature_('Polygon', polygon.getOrientedFlatCoordinates(),
polygon.getEnds());
expect(feature.getFlatInteriorPoint()).to.eql([5, 5, 10]);
expect(feature.getFlatInteriorPoint()).to.be(feature.flatInteriorPoints_);
@@ -65,11 +65,11 @@ describe('ol.render.Feature', function() {
describe('#getFlatInteriorPoints()', function() {
it('returns correct points and caches them', function() {
var polygon = new ol.geom.MultiPolygon([
var polygon = new _ol_geom_MultiPolygon_([
[[[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]],
[[[10, 0], [10, 10], [20, 10], [20, 0], [10, 0]]]
]);
var feature = new ol.render.Feature('MultiPolygon', polygon.getOrientedFlatCoordinates(),
var feature = new _ol_render_Feature_('MultiPolygon', polygon.getOrientedFlatCoordinates(),
polygon.getEndss());
expect(feature.getFlatInteriorPoints()).to.eql([5, 5, 10, 15, 5, 10]);
expect(feature.getFlatInteriorPoints()).to.be(feature.flatInteriorPoints_);
@@ -78,8 +78,8 @@ describe('ol.render.Feature', function() {
describe('#getFlatMidpoint()', function() {
it('returns correct point', function() {
var line = new ol.geom.LineString([[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]);
var feature = new ol.render.Feature('LineString', line.getFlatCoordinates());
var line = new _ol_geom_LineString_([[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]);
var feature = new _ol_render_Feature_('LineString', line.getFlatCoordinates());
expect(feature.getFlatMidpoint()).to.eql([10, 10]);
expect(feature.getFlatMidpoint()).to.eql(feature.flatMidpoints_);
});
@@ -87,11 +87,11 @@ describe('ol.render.Feature', function() {
describe('#getFlatMidpoints()', function() {
it('returns correct points and caches them', function() {
var line = new ol.geom.MultiLineString([
var line = new _ol_geom_MultiLineString_([
[[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]],
[[10, 0], [10, 10], [20, 10], [20, 0], [10, 0]]
]);
var feature = new ol.render.Feature('MultiLineString', line.getFlatCoordinates(),
var feature = new _ol_render_Feature_('MultiLineString', line.getFlatCoordinates(),
line.getEnds());
expect(feature.getFlatMidpoints()).to.eql([10, 10, 20, 10]);
expect(feature.getFlatMidpoints()).to.be(feature.flatMidpoints_);
+24 -26
View File
@@ -1,29 +1,27 @@
goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.geom.Circle');
goog.require('ol.render.webgl.CircleReplay');
goog.require('ol.render.webgl.circlereplay.defaultshader');
goog.require('ol.render.webgl.circlereplay.defaultshader.Locations');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
import _ol_ from '../../../../../src/ol.js';
import _ol_Feature_ from '../../../../../src/ol/Feature.js';
import _ol_geom_Circle_ from '../../../../../src/ol/geom/Circle.js';
import _ol_render_webgl_CircleReplay_ from '../../../../../src/ol/render/webgl/CircleReplay.js';
import _ol_render_webgl_circlereplay_defaultshader_ from '../../../../../src/ol/render/webgl/circlereplay/defaultshader.js';
import _ol_render_webgl_circlereplay_defaultshader_Locations_ from '../../../../../src/ol/render/webgl/circlereplay/defaultshader/Locations.js';
import _ol_style_Fill_ from '../../../../../src/ol/style/Fill.js';
import _ol_style_Stroke_ from '../../../../../src/ol/style/Stroke.js';
describe('ol.render.webgl.CircleReplay', function() {
var replay;
var strokeStyle = new ol.style.Stroke({
var strokeStyle = new _ol_style_Stroke_({
color: [0, 255, 0, 0.4]
});
var fillStyle = new ol.style.Fill({
var fillStyle = new _ol_style_Fill_({
color: [255, 0, 0, 1]
});
beforeEach(function() {
var tolerance = 0.1;
var maxExtent = [-10000, -20000, 10000, 20000];
replay = new ol.render.webgl.CircleReplay(tolerance, maxExtent);
replay = new _ol_render_webgl_CircleReplay_(tolerance, maxExtent);
});
describe('#setFillStrokeStyle', function() {
@@ -50,7 +48,7 @@ describe('ol.render.webgl.CircleReplay', function() {
describe('#drawCircle', function() {
it('sets the buffer data', function() {
var circle = new ol.geom.Circle([0, 0], 5000);
var circle = new _ol_geom_Circle_([0, 0], 5000);
replay.setFillStrokeStyle(fillStyle, strokeStyle);
replay.drawCircle(circle, null);
@@ -63,7 +61,7 @@ describe('ol.render.webgl.CircleReplay', function() {
});
it('does not draw if radius is zero', function() {
var circle = new ol.geom.Circle([0, 0], 0);
var circle = new _ol_geom_Circle_([0, 0], 0);
replay.drawCircle(circle, null);
expect(replay.vertices).to.have.length(0);
@@ -73,7 +71,7 @@ describe('ol.render.webgl.CircleReplay', function() {
});
it('resets state and removes style if it belongs to a zero radius circle', function() {
var circle = new ol.geom.Circle([0, 0], 0);
var circle = new _ol_geom_Circle_([0, 0], 0);
replay.setFillStrokeStyle(fillStyle, strokeStyle);
replay.setFillStrokeStyle(null, strokeStyle);
@@ -118,7 +116,7 @@ describe('ol.render.webgl.CircleReplay', function() {
it('returns the locations used by the shaders', function() {
var locations = replay.setUpProgram(gl, context, [2, 2], 1);
expect(locations).to.be.a(
ol.render.webgl.circlereplay.defaultshader.Locations);
_ol_render_webgl_circlereplay_defaultshader_Locations_);
});
it('gets and compiles the shaders', function() {
@@ -127,8 +125,8 @@ describe('ol.render.webgl.CircleReplay', function() {
replay.setUpProgram(gl, context, [2, 2], 1);
expect(context.getProgram.calledWithExactly(
ol.render.webgl.circlereplay.defaultshader.fragment,
ol.render.webgl.circlereplay.defaultshader.vertex)).to.be(true);
_ol_render_webgl_circlereplay_defaultshader_.fragment,
_ol_render_webgl_circlereplay_defaultshader_.vertex)).to.be(true);
expect(context.useProgram.calledOnce).to.be(true);
});
@@ -175,14 +173,14 @@ describe('ol.render.webgl.CircleReplay', function() {
describe('#drawReplay', function() {
var gl, context;
var feature1 = new ol.Feature({
geometry: new ol.geom.Circle([0, 0], 5000)
var feature1 = new _ol_Feature_({
geometry: new _ol_geom_Circle_([0, 0], 5000)
});
var feature2 = new ol.Feature({
geometry: new ol.geom.Circle([10, 10], 5000)
var feature2 = new _ol_Feature_({
geometry: new _ol_geom_Circle_([10, 10], 5000)
});
var feature3 = new ol.Feature({
geometry: new ol.geom.Circle([20, 20], 5000)
var feature3 = new _ol_Feature_({
geometry: new _ol_geom_Circle_([20, 20], 5000)
});
beforeEach(function() {
gl = {};
@@ -234,7 +232,7 @@ describe('ol.render.webgl.CircleReplay', function() {
replay.drawCircle(feature3.getGeometry(), feature3);
replay.startIndices.push(replay.indices.length);
var skippedFeatHash = {};
skippedFeatHash[ol.getUid(feature2).toString()] = true;
skippedFeatHash[_ol_.getUid(feature2).toString()] = true;
replay.drawReplay(gl, context, skippedFeatHash, false);
expect(replay.setFillStyle_.calledOnce).to.be(true);
+10 -12
View File
@@ -1,15 +1,13 @@
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.Point');
goog.require('ol.render.webgl.ImageReplay');
goog.require('ol.style.Image');
import _ol_geom_MultiPoint_ from '../../../../../src/ol/geom/MultiPoint.js';
import _ol_geom_Point_ from '../../../../../src/ol/geom/Point.js';
import _ol_render_webgl_ImageReplay_ from '../../../../../src/ol/render/webgl/ImageReplay.js';
import _ol_style_Image_ from '../../../../../src/ol/style/Image.js';
describe('ol.render.webgl.ImageReplay', function() {
var replay;
var createImageStyle = function(image) {
var imageStyle = new ol.style.Image({
var imageStyle = new _ol_style_Image_({
opacity: 0.1,
rotateWithView: true,
rotation: 1.5,
@@ -42,7 +40,7 @@ describe('ol.render.webgl.ImageReplay', function() {
beforeEach(function() {
var tolerance = 0.1;
var maxExtent = [-10000, -20000, 10000, 20000];
replay = new ol.render.webgl.ImageReplay(tolerance, maxExtent);
replay = new _ol_render_webgl_ImageReplay_(tolerance, maxExtent);
});
describe('#setImageStyle', function() {
@@ -96,7 +94,7 @@ describe('ol.render.webgl.ImageReplay', function() {
it('sets the buffer data', function() {
var point;
point = new ol.geom.Point([1000, 2000]);
point = new _ol_geom_Point_([1000, 2000]);
replay.drawPoint(point, null);
expect(replay.vertices).to.have.length(32);
expect(replay.indices).to.have.length(6);
@@ -107,7 +105,7 @@ describe('ol.render.webgl.ImageReplay', function() {
expect(replay.indices[4]).to.be(2);
expect(replay.indices[5]).to.be(3);
point = new ol.geom.Point([2000, 3000]);
point = new _ol_geom_Point_([2000, 3000]);
replay.drawPoint(point, null);
expect(replay.vertices).to.have.length(64);
expect(replay.indices).to.have.length(12);
@@ -129,7 +127,7 @@ describe('ol.render.webgl.ImageReplay', function() {
it('sets the buffer data', function() {
var multiPoint;
multiPoint = new ol.geom.MultiPoint(
multiPoint = new _ol_geom_MultiPoint_(
[[1000, 2000], [2000, 3000]]);
replay.drawMultiPoint(multiPoint, null);
expect(replay.vertices).to.have.length(64);
@@ -147,7 +145,7 @@ describe('ol.render.webgl.ImageReplay', function() {
expect(replay.indices[10]).to.be(6);
expect(replay.indices[11]).to.be(7);
multiPoint = new ol.geom.MultiPoint(
multiPoint = new _ol_geom_MultiPoint_(
[[3000, 4000], [4000, 5000]]);
replay.drawMultiPoint(multiPoint, null);
expect(replay.vertices).to.have.length(128);
+85 -87
View File
@@ -1,40 +1,38 @@
goog.require('ol.Feature');
goog.require('ol.geom.Circle');
goog.require('ol.geom.GeometryCollection');
goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Point');
goog.require('ol.geom.Polygon');
goog.require('ol.render.webgl.CircleReplay');
goog.require('ol.render.webgl.ImageReplay');
goog.require('ol.render.webgl.Immediate');
goog.require('ol.render.webgl.LineStringReplay');
goog.require('ol.render.webgl.PolygonReplay');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
import _ol_Feature_ from '../../../../../src/ol/Feature.js';
import _ol_geom_Circle_ from '../../../../../src/ol/geom/Circle.js';
import _ol_geom_GeometryCollection_ from '../../../../../src/ol/geom/GeometryCollection.js';
import _ol_geom_LineString_ from '../../../../../src/ol/geom/LineString.js';
import _ol_geom_MultiLineString_ from '../../../../../src/ol/geom/MultiLineString.js';
import _ol_geom_MultiPoint_ from '../../../../../src/ol/geom/MultiPoint.js';
import _ol_geom_MultiPolygon_ from '../../../../../src/ol/geom/MultiPolygon.js';
import _ol_geom_Point_ from '../../../../../src/ol/geom/Point.js';
import _ol_geom_Polygon_ from '../../../../../src/ol/geom/Polygon.js';
import _ol_render_webgl_CircleReplay_ from '../../../../../src/ol/render/webgl/CircleReplay.js';
import _ol_render_webgl_ImageReplay_ from '../../../../../src/ol/render/webgl/ImageReplay.js';
import _ol_render_webgl_Immediate_ from '../../../../../src/ol/render/webgl/Immediate.js';
import _ol_render_webgl_LineStringReplay_ from '../../../../../src/ol/render/webgl/LineStringReplay.js';
import _ol_render_webgl_PolygonReplay_ from '../../../../../src/ol/render/webgl/PolygonReplay.js';
import _ol_style_Circle_ from '../../../../../src/ol/style/Circle.js';
import _ol_style_Fill_ from '../../../../../src/ol/style/Fill.js';
import _ol_style_Stroke_ from '../../../../../src/ol/style/Stroke.js';
import _ol_style_Style_ from '../../../../../src/ol/style/Style.js';
describe('ol.render.webgl.Immediate', function() {
var context, style, circle, line, multiLine, point, multiPoint, polygon, multiPolygon;
beforeEach(function() {
context = new ol.render.webgl.Immediate({}, [0, 0], 0, 0, [0, 0], [-180, -90, 180, 90], 1);
style = new ol.style.Style({
image: new ol.style.Circle(),
fill: new ol.style.Fill(),
stroke: new ol.style.Stroke()
context = new _ol_render_webgl_Immediate_({}, [0, 0], 0, 0, [0, 0], [-180, -90, 180, 90], 1);
style = new _ol_style_Style_({
image: new _ol_style_Circle_(),
fill: new _ol_style_Fill_(),
stroke: new _ol_style_Stroke_()
});
circle = new ol.geom.Circle([0, 0], 5);
line = new ol.geom.LineString([[0, 0], [5, 5]]);
multiLine = new ol.geom.MultiLineString([[[0, 0], [5, 5]]]);
point = new ol.geom.Point([0, 0]);
multiPoint = new ol.geom.MultiPoint([[0, 0]]);
polygon = new ol.geom.Polygon([[[0, 0], [5, 5], [5, 0], [0, 0]]]);
multiPolygon = new ol.geom.MultiPolygon([[[[0, 0], [5, 5], [5, 0], [0, 0]]]]);
circle = new _ol_geom_Circle_([0, 0], 5);
line = new _ol_geom_LineString_([[0, 0], [5, 5]]);
multiLine = new _ol_geom_MultiLineString_([[[0, 0], [5, 5]]]);
point = new _ol_geom_Point_([0, 0]);
multiPoint = new _ol_geom_MultiPoint_([[0, 0]]);
polygon = new _ol_geom_Polygon_([[[0, 0], [5, 5], [5, 0], [0, 0]]]);
multiPolygon = new _ol_geom_MultiPolygon_([[[[0, 0], [5, 5], [5, 0], [0, 0]]]]);
});
describe('#setStyle', function() {
@@ -49,7 +47,7 @@ describe('ol.render.webgl.Immediate', function() {
describe('#drawFeature', function() {
var feat;
beforeEach(function() {
feat = new ol.Feature({
feat = new _ol_Feature_({
geometry: circle
});
context.setStyle = function() {};
@@ -69,15 +67,15 @@ describe('ol.render.webgl.Immediate', function() {
});
it('does nothing if no geometry is provided', function() {
feat = new ol.Feature();
feat = new _ol_Feature_();
context.drawFeature(feat, style);
expect(context.setStyle.called).to.be(false);
expect(context.drawGeometry.called).to.be(false);
});
it('does nothing if geometry is out of bounds', function() {
feat = new ol.Feature({
geometry: new ol.geom.Circle([540, 540], 1)
feat = new _ol_Feature_({
geometry: new _ol_geom_Circle_([540, 540], 1)
});
context.drawFeature(feat, style);
expect(context.setStyle.called).to.be(false);
@@ -88,7 +86,7 @@ describe('ol.render.webgl.Immediate', function() {
describe('#drawGeometryCollection', function() {
var geomColl;
beforeEach(function() {
geomColl = new ol.geom.GeometryCollection([circle, point, multiPoint,
geomColl = new _ol_geom_GeometryCollection_([circle, point, multiPoint,
line, multiLine, polygon, multiPolygon]);
});
@@ -113,7 +111,7 @@ describe('ol.render.webgl.Immediate', function() {
return function() {};
});
sinon.spy(ctor.prototype.getDeleteResourcesFunction);
if (ctor === ol.render.webgl.ImageReplay) {
if (ctor === _ol_render_webgl_ImageReplay_) {
tmpObj.setImageStyle = ctor.prototype.setImageStyle;
ctor.prototype.setImageStyle = sinon.spy();
} else {
@@ -134,140 +132,140 @@ describe('ol.render.webgl.Immediate', function() {
describe('#drawPoint', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.ImageReplay, 'drawPoint');
tmpObj = mock(_ol_render_webgl_ImageReplay_, 'drawPoint');
});
it('draws a point', function() {
context.drawGeometry(point);
expect(ol.render.webgl.ImageReplay.prototype.setImageStyle.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.drawPoint.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.setImageStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.drawPoint.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.ImageReplay, tmpObj);
restore(_ol_render_webgl_ImageReplay_, tmpObj);
});
});
describe('#drawMultiPoint', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.ImageReplay, 'drawMultiPoint');
tmpObj = mock(_ol_render_webgl_ImageReplay_, 'drawMultiPoint');
});
it('draws a multi point', function() {
context.drawGeometry(multiPoint);
expect(ol.render.webgl.ImageReplay.prototype.setImageStyle.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.drawMultiPoint.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.ImageReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.setImageStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.drawMultiPoint.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_ImageReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.ImageReplay, tmpObj);
restore(_ol_render_webgl_ImageReplay_, tmpObj);
});
});
describe('#drawLineString', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.LineStringReplay, 'drawLineString');
tmpObj = mock(_ol_render_webgl_LineStringReplay_, 'drawLineString');
});
it('draws a line string', function() {
context.drawGeometry(line);
expect(ol.render.webgl.LineStringReplay.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.drawLineString.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.drawLineString.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.LineStringReplay, tmpObj);
restore(_ol_render_webgl_LineStringReplay_, tmpObj);
});
});
describe('#drawMultiLineString', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.LineStringReplay, 'drawMultiLineString');
tmpObj = mock(_ol_render_webgl_LineStringReplay_, 'drawMultiLineString');
});
it('draws a multi line string', function() {
context.drawGeometry(multiLine);
expect(ol.render.webgl.LineStringReplay.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.drawMultiLineString.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.LineStringReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.drawMultiLineString.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_LineStringReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.LineStringReplay, tmpObj);
restore(_ol_render_webgl_LineStringReplay_, tmpObj);
});
});
describe('#drawPolygon', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.PolygonReplay, 'drawPolygon');
tmpObj = mock(_ol_render_webgl_PolygonReplay_, 'drawPolygon');
});
it('draws a polygon', function() {
context.drawGeometry(polygon);
expect(ol.render.webgl.PolygonReplay.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.drawPolygon.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.drawPolygon.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.PolygonReplay, tmpObj);
restore(_ol_render_webgl_PolygonReplay_, tmpObj);
});
});
describe('#drawMultiPolygon', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.PolygonReplay, 'drawMultiPolygon');
tmpObj = mock(_ol_render_webgl_PolygonReplay_, 'drawMultiPolygon');
});
it('draws a multi polygon', function() {
context.drawGeometry(multiPolygon);
expect(ol.render.webgl.PolygonReplay.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.drawMultiPolygon.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.PolygonReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.drawMultiPolygon.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_PolygonReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.PolygonReplay, tmpObj);
restore(_ol_render_webgl_PolygonReplay_, tmpObj);
});
});
describe('#drawCircle', function() {
var tmpObj;
beforeEach(function() {
tmpObj = mock(ol.render.webgl.CircleReplay, 'drawCircle');
tmpObj = mock(_ol_render_webgl_CircleReplay_, 'drawCircle');
});
it('draws a circle', function() {
context.drawGeometry(circle);
expect(ol.render.webgl.CircleReplay.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(ol.render.webgl.CircleReplay.prototype.drawCircle.calledOnce).to.be(true);
expect(ol.render.webgl.CircleReplay.prototype.finish.calledOnce).to.be(true);
expect(ol.render.webgl.CircleReplay.prototype.replay.calledOnce).to.be(true);
expect(ol.render.webgl.CircleReplay.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
expect(_ol_render_webgl_CircleReplay_.prototype.setFillStrokeStyle.calledOnce).to.be(true);
expect(_ol_render_webgl_CircleReplay_.prototype.drawCircle.calledOnce).to.be(true);
expect(_ol_render_webgl_CircleReplay_.prototype.finish.calledOnce).to.be(true);
expect(_ol_render_webgl_CircleReplay_.prototype.replay.calledOnce).to.be(true);
expect(_ol_render_webgl_CircleReplay_.prototype.getDeleteResourcesFunction.calledOnce).to.be(true);
});
after(function() {
restore(ol.render.webgl.CircleReplay, tmpObj);
restore(_ol_render_webgl_CircleReplay_, tmpObj);
});
});
});
+2 -4
View File
@@ -1,11 +1,9 @@
goog.require('ol.render.webgl.Replay');
import _ol_render_webgl_Replay_ from '../../../../../src/ol/render/webgl/Replay.js';
describe('ol.render.Replay', function() {
var replay;
beforeEach(function() {
replay = new ol.render.webgl.Replay(5, [-180, -90, 180, 90]);
replay = new _ol_render_webgl_Replay_(5, [-180, -90, 180, 90]);
});
@@ -1,22 +1,20 @@
goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.geom.LineString');
goog.require('ol.geom.MultiLineString');
goog.require('ol.render.webgl.LineStringReplay');
goog.require('ol.render.webgl.linestringreplay.defaultshader');
goog.require('ol.render.webgl.linestringreplay.defaultshader.Locations');
goog.require('ol.style.Stroke');
import _ol_ from '../../../../../src/ol.js';
import _ol_Feature_ from '../../../../../src/ol/Feature.js';
import _ol_geom_LineString_ from '../../../../../src/ol/geom/LineString.js';
import _ol_geom_MultiLineString_ from '../../../../../src/ol/geom/MultiLineString.js';
import _ol_render_webgl_LineStringReplay_ from '../../../../../src/ol/render/webgl/LineStringReplay.js';
import _ol_render_webgl_linestringreplay_defaultshader_ from '../../../../../src/ol/render/webgl/linestringreplay/defaultshader.js';
import _ol_render_webgl_linestringreplay_defaultshader_Locations_ from '../../../../../src/ol/render/webgl/linestringreplay/defaultshader/Locations.js';
import _ol_style_Stroke_ from '../../../../../src/ol/style/Stroke.js';
describe('ol.render.webgl.LineStringReplay', function() {
var replay;
var strokeStyle1 = new ol.style.Stroke({
var strokeStyle1 = new _ol_style_Stroke_({
color: [0, 255, 0, 0.4]
});
var strokeStyle2 = new ol.style.Stroke({
var strokeStyle2 = new _ol_style_Stroke_({
color: [255, 0, 0, 1],
lineCap: 'square',
lineJoin: 'miter'
@@ -25,7 +23,7 @@ describe('ol.render.webgl.LineStringReplay', function() {
beforeEach(function() {
var tolerance = 0.1;
var maxExtent = [-10000, -20000, 10000, 20000];
replay = new ol.render.webgl.LineStringReplay(tolerance, maxExtent);
replay = new _ol_render_webgl_LineStringReplay_(tolerance, maxExtent);
});
describe('#setFillStrokeStyle', function() {
@@ -58,7 +56,7 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('sets the buffer data', function() {
var linestring;
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 2000], [2000, 3000]]);
replay.setFillStrokeStyle(null, strokeStyle1);
replay.drawLineString(linestring, null);
@@ -68,7 +66,7 @@ describe('ol.render.webgl.LineStringReplay', function() {
expect(replay.startIndices).to.have.length(1);
expect(replay.startIndicesFeature).to.have.length(1);
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 3000], [2000, 4000], [3000, 3000]]);
replay.drawLineString(linestring, null);
expect(replay.vertices).to.have.length(140);
@@ -84,7 +82,7 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('sets the buffer data', function() {
var multilinestring;
multilinestring = new ol.geom.MultiLineString(
multilinestring = new _ol_geom_MultiLineString_(
[[[1000, 2000], [2000, 3000]],
[[1000, 3000], [2000, 4000], [3000, 3000]]]);
replay.setFillStrokeStyle(null, strokeStyle1);
@@ -102,13 +100,13 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('triangulates linestrings', function() {
var linestring;
var stroke = new ol.style.Stroke({
var stroke = new _ol_style_Stroke_({
color: [0, 255, 0, 1],
lineCap: 'butt',
lineJoin: 'bevel'
});
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 3000], [2000, 4000], [3000, 3000]]);
var flatCoordinates = linestring.getFlatCoordinates();
replay.setFillStrokeStyle(null, stroke);
@@ -123,12 +121,12 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('optionally creates miters', function() {
var linestring;
var stroke = new ol.style.Stroke({
var stroke = new _ol_style_Stroke_({
color: [0, 255, 0, 1],
lineCap: 'butt'
});
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 3000], [2000, 4000], [3000, 3000]]);
var flatCoordinates = linestring.getFlatCoordinates();
replay.setFillStrokeStyle(null, stroke);
@@ -143,11 +141,11 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('optionally creates caps', function() {
var linestring;
var stroke = new ol.style.Stroke({
var stroke = new _ol_style_Stroke_({
color: [0, 255, 0, 1]
});
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 3000], [2000, 4000], [3000, 3000]]);
var flatCoordinates = linestring.getFlatCoordinates();
replay.setFillStrokeStyle(null, stroke);
@@ -164,13 +162,13 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('respects segment orientation', function() {
var linestring;
var stroke = new ol.style.Stroke({
var stroke = new _ol_style_Stroke_({
color: [0, 255, 0, 1],
lineCap: 'butt',
lineJoin: 'bevel'
});
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 3000], [2000, 2000], [3000, 3000]]);
var flatCoordinates = linestring.getFlatCoordinates();
replay.setFillStrokeStyle(null, stroke);
@@ -185,13 +183,13 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('closes boundaries', function() {
var linestring;
var stroke = new ol.style.Stroke({
var stroke = new _ol_style_Stroke_({
color: [0, 255, 0, 1],
lineCap: 'butt',
lineJoin: 'bevel'
});
linestring = new ol.geom.LineString(
linestring = new _ol_geom_LineString_(
[[1000, 3000], [2000, 4000], [3000, 3000], [1000, 3000]]);
var flatCoordinates = linestring.getFlatCoordinates();
replay.setFillStrokeStyle(null, stroke);
@@ -231,7 +229,7 @@ describe('ol.render.webgl.LineStringReplay', function() {
it('returns the locations used by the shaders', function() {
var locations = replay.setUpProgram(gl, context, [2, 2], 1);
expect(locations).to.be.a(
ol.render.webgl.linestringreplay.defaultshader.Locations);
_ol_render_webgl_linestringreplay_defaultshader_Locations_);
});
it('gets and compiles the shaders', function() {
@@ -240,8 +238,8 @@ describe('ol.render.webgl.LineStringReplay', function() {
replay.setUpProgram(gl, context, [2, 2], 1);
expect(context.getProgram.calledWithExactly(
ol.render.webgl.linestringreplay.defaultshader.fragment,
ol.render.webgl.linestringreplay.defaultshader.vertex)).to.be(true);
_ol_render_webgl_linestringreplay_defaultshader_.fragment,
_ol_render_webgl_linestringreplay_defaultshader_.vertex)).to.be(true);
expect(context.useProgram.calledOnce).to.be(true);
});
@@ -288,14 +286,14 @@ describe('ol.render.webgl.LineStringReplay', function() {
describe('#drawReplay', function() {
var gl, context;
var feature1 = new ol.Feature({
geometry: new ol.geom.LineString([[0, 0], [500, 500]])
var feature1 = new _ol_Feature_({
geometry: new _ol_geom_LineString_([[0, 0], [500, 500]])
});
var feature2 = new ol.Feature({
geometry: new ol.geom.LineString([[0, 0], [500, 500]])
var feature2 = new _ol_Feature_({
geometry: new _ol_geom_LineString_([[0, 0], [500, 500]])
});
var feature3 = new ol.Feature({
geometry: new ol.geom.LineString([[0, 0], [500, 500]])
var feature3 = new _ol_Feature_({
geometry: new _ol_geom_LineString_([[0, 0], [500, 500]])
});
beforeEach(function() {
gl = {
@@ -353,7 +351,7 @@ describe('ol.render.webgl.LineStringReplay', function() {
replay.drawLineString(feature3.getGeometry(), feature3);
replay.startIndices.push(replay.indices.length);
var skippedFeatHash = {};
skippedFeatHash[ol.getUid(feature2).toString()] = true;
skippedFeatHash[_ol_.getUid(feature2).toString()] = true;
replay.drawReplay(gl, context, skippedFeatHash, false);
expect(replay.setStrokeStyle_.calledOnce).to.be(true);
+30 -32
View File
@@ -1,31 +1,29 @@
goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.geom.MultiPolygon');
goog.require('ol.geom.Polygon');
goog.require('ol.render.webgl.PolygonReplay');
goog.require('ol.render.webgl.polygonreplay.defaultshader');
goog.require('ol.render.webgl.polygonreplay.defaultshader.Locations');
goog.require('ol.structs.LinkedList');
goog.require('ol.structs.RBush');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
import _ol_ from '../../../../../src/ol.js';
import _ol_Feature_ from '../../../../../src/ol/Feature.js';
import _ol_geom_MultiPolygon_ from '../../../../../src/ol/geom/MultiPolygon.js';
import _ol_geom_Polygon_ from '../../../../../src/ol/geom/Polygon.js';
import _ol_render_webgl_PolygonReplay_ from '../../../../../src/ol/render/webgl/PolygonReplay.js';
import _ol_render_webgl_polygonreplay_defaultshader_ from '../../../../../src/ol/render/webgl/polygonreplay/defaultshader.js';
import _ol_render_webgl_polygonreplay_defaultshader_Locations_ from '../../../../../src/ol/render/webgl/polygonreplay/defaultshader/Locations.js';
import _ol_structs_LinkedList_ from '../../../../../src/ol/structs/LinkedList.js';
import _ol_structs_RBush_ from '../../../../../src/ol/structs/RBush.js';
import _ol_style_Fill_ from '../../../../../src/ol/style/Fill.js';
import _ol_style_Stroke_ from '../../../../../src/ol/style/Stroke.js';
describe('ol.render.webgl.PolygonReplay', function() {
var replay;
var fillStyle = new ol.style.Fill({
var fillStyle = new _ol_style_Fill_({
color: [0, 0, 255, 0.5]
});
var strokeStyle = new ol.style.Stroke({
var strokeStyle = new _ol_style_Stroke_({
color: [0, 255, 0, 0.4]
});
beforeEach(function() {
var tolerance = 0.1;
var maxExtent = [-10000, -20000, 10000, 20000];
replay = new ol.render.webgl.PolygonReplay(tolerance, maxExtent);
replay = new _ol_render_webgl_PolygonReplay_(tolerance, maxExtent);
});
describe('#drawPolygon', function() {
@@ -34,7 +32,7 @@ describe('ol.render.webgl.PolygonReplay', function() {
});
it('sets the buffer data', function() {
var polygon1 = new ol.geom.Polygon(
var polygon1 = new _ol_geom_Polygon_(
[[[1000, 2000], [1200, 2000], [1200, 3000]]]
);
replay.drawPolygon(polygon1, null);
@@ -45,7 +43,7 @@ describe('ol.render.webgl.PolygonReplay', function() {
1000, 2000, 1200, 3000, 1200, 2000, 1000, 2000]);
expect(replay.indices).to.eql([2, 0, 1]);
var polygon2 = new ol.geom.Polygon(
var polygon2 = new _ol_geom_Polygon_(
[[[4000, 2000], [4200, 2000], [4200, 3000]]]
);
replay.drawPolygon(polygon2, null);
@@ -66,7 +64,7 @@ describe('ol.render.webgl.PolygonReplay', function() {
});
it('sets the buffer data', function() {
var multiPolygon = new ol.geom.MultiPolygon([
var multiPolygon = new _ol_geom_MultiPolygon_([
[[[1000, 2000], [1200, 2000], [1200, 3000]]],
[[[4000, 2000], [4200, 2000], [4200, 3000]]]
]);
@@ -85,8 +83,8 @@ describe('ol.render.webgl.PolygonReplay', function() {
describe('triangulating functions', function() {
var list, rtree;
beforeEach(function() {
list = new ol.structs.LinkedList();
rtree = new ol.structs.RBush();
list = new _ol_structs_LinkedList_();
rtree = new _ol_structs_RBush_();
});
describe('#createPoint_', function() {
@@ -340,7 +338,7 @@ describe('ol.render.webgl.PolygonReplay', function() {
it('returns the locations used by the shaders', function() {
var locations = replay.setUpProgram(gl, context, [2, 2], 1);
expect(locations).to.be.a(
ol.render.webgl.polygonreplay.defaultshader.Locations);
_ol_render_webgl_polygonreplay_defaultshader_Locations_);
});
it('gets and compiles the shaders', function() {
@@ -349,8 +347,8 @@ describe('ol.render.webgl.PolygonReplay', function() {
replay.setUpProgram(gl, context, [2, 2], 1);
expect(context.getProgram.calledWithExactly(
ol.render.webgl.polygonreplay.defaultshader.fragment,
ol.render.webgl.polygonreplay.defaultshader.vertex)).to.be(true);
_ol_render_webgl_polygonreplay_defaultshader_.fragment,
_ol_render_webgl_polygonreplay_defaultshader_.vertex)).to.be(true);
expect(context.useProgram.calledOnce).to.be(true);
});
@@ -397,14 +395,14 @@ describe('ol.render.webgl.PolygonReplay', function() {
describe('#drawReplay', function() {
var gl, context;
var feature1 = new ol.Feature({
geometry: new ol.geom.Polygon([[[0, 0], [500, 500], [500, 0], [0, 0]]])
var feature1 = new _ol_Feature_({
geometry: new _ol_geom_Polygon_([[[0, 0], [500, 500], [500, 0], [0, 0]]])
});
var feature2 = new ol.Feature({
geometry: new ol.geom.Polygon([[[0, 0], [500, 500], [500, 0], [0, 0]]])
var feature2 = new _ol_Feature_({
geometry: new _ol_geom_Polygon_([[[0, 0], [500, 500], [500, 0], [0, 0]]])
});
var feature3 = new ol.Feature({
geometry: new ol.geom.Polygon([[[0, 0], [500, 500], [500, 0], [0, 0]]])
var feature3 = new _ol_Feature_({
geometry: new _ol_geom_Polygon_([[[0, 0], [500, 500], [500, 0], [0, 0]]])
});
beforeEach(function() {
gl = {
@@ -437,7 +435,7 @@ describe('ol.render.webgl.PolygonReplay', function() {
});
it('draws the elements in batches if there are multiple fill styles', function() {
var fillStyle2 = new ol.style.Fill({
var fillStyle2 = new _ol_style_Fill_({
color: [0, 255, 0, 1]
});
replay.setFillStrokeStyle(fillStyle, strokeStyle);
@@ -462,7 +460,7 @@ describe('ol.render.webgl.PolygonReplay', function() {
replay.drawPolygon(feature3.getGeometry(), feature3);
replay.startIndices.push(replay.indices.length);
var skippedFeatHash = {};
skippedFeatHash[ol.getUid(feature2).toString()] = true;
skippedFeatHash[_ol_.getUid(feature2).toString()] = true;
replay.drawReplay(gl, context, skippedFeatHash, false);
expect(replay.setFillStyle_.calledOnce).to.be(true);
+23 -23
View File
@@ -1,15 +1,15 @@
goog.require('ol.dom');
goog.require('ol.geom.Point');
goog.require('ol.render.webgl.TextReplay');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Text');
import _ol_dom_ from '../../../../../src/ol/dom.js';
import _ol_geom_Point_ from '../../../../../src/ol/geom/Point.js';
import _ol_render_webgl_TextReplay_ from '../../../../../src/ol/render/webgl/TextReplay.js';
import _ol_style_Fill_ from '../../../../../src/ol/style/Fill.js';
import _ol_style_Stroke_ from '../../../../../src/ol/style/Stroke.js';
import _ol_style_Text_ from '../../../../../src/ol/style/Text.js';
describe('ol.render.webgl.TextReplay', function() {
var replay;
var createTextStyle = function(fillStyle, strokeStyle, text) {
var textStyle = new ol.style.Text({
var textStyle = new _ol_style_Text_({
rotateWithView: true,
rotation: 1.5,
scale: 2,
@@ -28,7 +28,7 @@ describe('ol.render.webgl.TextReplay', function() {
beforeEach(function() {
var tolerance = 0.1;
var maxExtent = [-10000, -20000, 10000, 20000];
replay = new ol.render.webgl.TextReplay(tolerance, maxExtent);
replay = new _ol_render_webgl_TextReplay_(tolerance, maxExtent);
});
describe('#setTextStyle', function() {
@@ -37,10 +37,10 @@ describe('ol.render.webgl.TextReplay', function() {
beforeEach(function() {
textStyle1 = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [0, 0, 0, 1]
}),
new ol.style.Stroke({
new _ol_style_Stroke_({
width: 1,
color: [0, 0, 0, 1],
lineCap: 'butt',
@@ -51,10 +51,10 @@ describe('ol.render.webgl.TextReplay', function() {
}),
'someText');
textStyle2 = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [255, 255, 255, 1]
}),
new ol.style.Stroke({
new _ol_style_Stroke_({
width: 1,
color: [255, 255, 255, 1]
}),
@@ -62,10 +62,10 @@ describe('ol.render.webgl.TextReplay', function() {
);
textStyle3 = createTextStyle(null, null, 'someText');
textStyle4 = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [0, 0, 0, 1]
}),
new ol.style.Stroke({
new _ol_style_Stroke_({
width: 1,
color: [0, 0, 0, 1]
}),
@@ -115,7 +115,7 @@ describe('ol.render.webgl.TextReplay', function() {
describe('#drawText', function() {
beforeEach(function() {
var textStyle = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [0, 0, 0, 1]
}),
null, 'someText');
@@ -126,19 +126,19 @@ describe('ol.render.webgl.TextReplay', function() {
var point;
point = [1000, 2000];
replay.drawText(new ol.geom.Point(point), null);
replay.drawText(new _ol_geom_Point_(point), null);
expect(replay.vertices).to.have.length(256);
expect(replay.indices).to.have.length(48);
point = [2000, 3000];
replay.drawText(new ol.geom.Point(point), null);
replay.drawText(new _ol_geom_Point_(point), null);
expect(replay.vertices).to.have.length(512);
expect(replay.indices).to.have.length(96);
});
it('sets part of its state during drawing', function() {
var point = [1000, 2000];
replay.drawText(new ol.geom.Point(point), null);
replay.drawText(new _ol_geom_Point_(point), null);
var height = replay.currAtlas_.height;
var widths = replay.currAtlas_.width;
@@ -162,7 +162,7 @@ describe('ol.render.webgl.TextReplay', function() {
var point;
point = [1000, 2000];
replay.drawText(new ol.geom.Point(point), null);
replay.drawText(new _ol_geom_Point_(point), null);
expect(replay.vertices).to.have.length(0);
expect(replay.indices).to.have.length(0);
});
@@ -171,7 +171,7 @@ describe('ol.render.webgl.TextReplay', function() {
describe('#addCharToAtlas_', function() {
beforeEach(function() {
var textStyle = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [0, 0, 0, 1]
}),
null, 'someText');
@@ -209,7 +209,7 @@ describe('ol.render.webgl.TextReplay', function() {
describe('#getTextSize_', function() {
beforeEach(function() {
var textStyle = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [0, 0, 0, 1]
}),
null, 'someText');
@@ -242,7 +242,7 @@ describe('ol.render.webgl.TextReplay', function() {
it('returns the size of the label\'s bounding box in pixels', function() {
var size;
var mCtx = ol.dom.createCanvasContext2D(0, 0);
var mCtx = _ol_dom_.createCanvasContext2D(0, 0);
mCtx.font = '12px Arial';
var width = mCtx.measureText('someText').width;
var width2 = mCtx.measureText('anEvenLongerLine').width;
@@ -261,7 +261,7 @@ describe('ol.render.webgl.TextReplay', function() {
describe('#getAtlas_', function() {
beforeEach(function() {
var textStyle = createTextStyle(
new ol.style.Fill({
new _ol_style_Fill_({
color: [0, 0, 0, 1]
}),
null, 'someText');
@@ -1,8 +1,6 @@
goog.require('ol.render.webgl.TextureReplay');
goog.require('ol.render.webgl.texturereplay.defaultshader');
goog.require('ol.render.webgl.texturereplay.defaultshader.Locations');
import _ol_render_webgl_TextureReplay_ from '../../../../../src/ol/render/webgl/TextureReplay.js';
import _ol_render_webgl_texturereplay_defaultshader_ from '../../../../../src/ol/render/webgl/texturereplay/defaultshader.js';
import _ol_render_webgl_texturereplay_defaultshader_Locations_ from '../../../../../src/ol/render/webgl/texturereplay/defaultshader/Locations.js';
describe('ol.render.webgl.TextureReplay', function() {
var replay;
@@ -10,7 +8,7 @@ describe('ol.render.webgl.TextureReplay', function() {
beforeEach(function() {
var tolerance = 0.1;
var maxExtent = [-10000, -20000, 10000, 20000];
replay = new ol.render.webgl.TextureReplay(tolerance, maxExtent);
replay = new _ol_render_webgl_TextureReplay_(tolerance, maxExtent);
});
describe('#setUpProgram', function() {
@@ -33,7 +31,7 @@ describe('ol.render.webgl.TextureReplay', function() {
it('returns the locations used by the shaders', function() {
var locations = replay.setUpProgram(gl, context, [2, 2], 1);
expect(locations).to.be.a(
ol.render.webgl.texturereplay.defaultshader.Locations);
_ol_render_webgl_texturereplay_defaultshader_Locations_);
});
it('gets and compiles the shaders', function() {
@@ -42,8 +40,8 @@ describe('ol.render.webgl.TextureReplay', function() {
replay.setUpProgram(gl, context, [2, 2], 1);
expect(context.getProgram.calledWithExactly(
ol.render.webgl.texturereplay.defaultshader.fragment,
ol.render.webgl.texturereplay.defaultshader.vertex)).to.be(true);
_ol_render_webgl_texturereplay_defaultshader_.fragment,
_ol_render_webgl_texturereplay_defaultshader_.vertex)).to.be(true);
expect(context.useProgram.calledOnce).to.be(true);
});