Use blocked scoped variables
In addition to using const and let, this also upgrades our linter config and removes lint (mostly whitespace).
This commit is contained in:
@@ -5,12 +5,12 @@ describe('ol.geom.flat.area', function() {
|
||||
describe('ol.geom.flat.area.linearRing', function() {
|
||||
|
||||
it('calculates the area of a triangle', function() {
|
||||
var area = _ol_geom_flat_area_.linearRing([0, 0, 0.5, 1, 1, 0], 0, 6, 2);
|
||||
const area = _ol_geom_flat_area_.linearRing([0, 0, 0.5, 1, 1, 0], 0, 6, 2);
|
||||
expect(area).to.be(0.5);
|
||||
});
|
||||
|
||||
it('calculates the area of a unit square', function() {
|
||||
var area =
|
||||
const area =
|
||||
_ol_geom_flat_area_.linearRing([0, 0, 0, 1, 1, 1, 1, 0], 0, 8, 2);
|
||||
expect(area).to.be(1);
|
||||
});
|
||||
@@ -20,8 +20,8 @@ describe('ol.geom.flat.area', function() {
|
||||
describe('ol.geom.flat.area.linearRings', function() {
|
||||
|
||||
it('calculates the area with holes', function() {
|
||||
var area = _ol_geom_flat_area_.linearRings(
|
||||
[0, 0, 0, 3, 3, 3, 3, 0, 1, 1, 2, 1, 2, 2, 1, 2], 0, [8, 16], 2);
|
||||
const area = _ol_geom_flat_area_.linearRings(
|
||||
[0, 0, 0, 3, 3, 3, 3, 0, 1, 1, 2, 1, 2, 2, 1, 2], 0, [8, 16], 2);
|
||||
expect(area).to.be(8);
|
||||
});
|
||||
|
||||
|
||||
@@ -7,20 +7,20 @@ describe('ol.geom.flat.center', function() {
|
||||
describe('ol.geom.flat.center.linearRingss', function() {
|
||||
|
||||
it('calculates the center of a square', function() {
|
||||
var squareMultiPoly = new MultiPolygon([[
|
||||
const squareMultiPoly = new MultiPolygon([[
|
||||
[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]
|
||||
]]);
|
||||
var got = _ol_geom_flat_center_.linearRingss(
|
||||
squareMultiPoly.flatCoordinates,
|
||||
0,
|
||||
squareMultiPoly.endss_,
|
||||
2
|
||||
const got = _ol_geom_flat_center_.linearRingss(
|
||||
squareMultiPoly.flatCoordinates,
|
||||
0,
|
||||
squareMultiPoly.endss_,
|
||||
2
|
||||
);
|
||||
expect(got).to.eql([0.5, 0.5]);
|
||||
});
|
||||
|
||||
it('calculates the centers of two squares', function() {
|
||||
var squareMultiPoly = new MultiPolygon([
|
||||
const squareMultiPoly = new MultiPolygon([
|
||||
[
|
||||
[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]
|
||||
],
|
||||
@@ -28,25 +28,25 @@ describe('ol.geom.flat.center', function() {
|
||||
[[3, 0], [3, 1], [4, 1], [4, 0], [3, 0]]
|
||||
]
|
||||
]);
|
||||
var got = _ol_geom_flat_center_.linearRingss(
|
||||
squareMultiPoly.flatCoordinates,
|
||||
0,
|
||||
squareMultiPoly.endss_,
|
||||
2
|
||||
const got = _ol_geom_flat_center_.linearRingss(
|
||||
squareMultiPoly.flatCoordinates,
|
||||
0,
|
||||
squareMultiPoly.endss_,
|
||||
2
|
||||
);
|
||||
expect(got).to.eql([0.5, 0.5, 3.5, 0.5]);
|
||||
});
|
||||
|
||||
it('does not care about holes', function() {
|
||||
var polywithHole = new MultiPolygon([[
|
||||
const polywithHole = new MultiPolygon([[
|
||||
[[0, 0], [0, 5], [5, 5], [5, 0], [0, 0]],
|
||||
[[1, 1], [1, 4], [4, 4], [4, 1], [1, 1]]
|
||||
]]);
|
||||
var got = _ol_geom_flat_center_.linearRingss(
|
||||
polywithHole.flatCoordinates,
|
||||
0,
|
||||
polywithHole.endss_,
|
||||
2
|
||||
const got = _ol_geom_flat_center_.linearRingss(
|
||||
polywithHole.flatCoordinates,
|
||||
0,
|
||||
polywithHole.endss_,
|
||||
2
|
||||
);
|
||||
expect(got).to.eql([2.5, 2.5]);
|
||||
});
|
||||
|
||||
@@ -5,13 +5,13 @@ describe('ol.geom.flat.closest', function() {
|
||||
|
||||
describe('with simple data', function() {
|
||||
|
||||
var flatCoordinates = [0, 0, 1, 0, 3, 0, 5, 0, 6, 0, 8, 0, 11, 0];
|
||||
const flatCoordinates = [0, 0, 1, 0, 3, 0, 5, 0, 6, 0, 8, 0, 11, 0];
|
||||
|
||||
describe('ol.geom.flat.closest.getMaxSquaredDelta', function() {
|
||||
|
||||
it('returns the expected value in simple cases', function() {
|
||||
expect(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0)).to.be(9);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0)).to.be(9);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -19,25 +19,25 @@ describe('ol.geom.flat.closest', function() {
|
||||
describe('ol.geom.flat.closest.getClosestPoint', function() {
|
||||
|
||||
it('returns the expected value', function() {
|
||||
var maxDelta = Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0));
|
||||
const maxDelta = Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0));
|
||||
expect(maxDelta).to.be(3);
|
||||
var closestPoint = [NaN, NaN];
|
||||
const closestPoint = [NaN, NaN];
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 0, 0, closestPoint, Infinity)).to.be(0);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 0, 0, closestPoint, Infinity)).to.be(0);
|
||||
expect(closestPoint).to.eql([0, 0]);
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 4, 1, closestPoint, Infinity)).to.be(1);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 4, 1, closestPoint, Infinity)).to.be(1);
|
||||
expect(closestPoint).to.eql([4, 0]);
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 5, 2, closestPoint, Infinity)).to.be(4);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 5, 2, closestPoint, Infinity)).to.be(4);
|
||||
expect(closestPoint).to.eql([5, 0]);
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 10, 100, closestPoint, Infinity)).to.be(10000);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 10, 100, closestPoint, Infinity)).to.be(10000);
|
||||
expect(closestPoint).to.eql([10, 0]);
|
||||
});
|
||||
|
||||
@@ -47,7 +47,7 @@ describe('ol.geom.flat.closest', function() {
|
||||
|
||||
describe('with real data', function() {
|
||||
|
||||
var flatCoordinates = [
|
||||
const flatCoordinates = [
|
||||
224.55, 250.15, 226.91, 244.19, 233.31, 241.45, 234.98, 236.06,
|
||||
244.21, 232.76, 262.59, 215.31, 267.76, 213.81, 273.57, 201.84,
|
||||
273.12, 192.16, 277.62, 189.03, 280.36, 181.41, 286.51, 177.74,
|
||||
@@ -79,8 +79,8 @@ describe('ol.geom.flat.closest', function() {
|
||||
|
||||
it('returns the expected value', function() {
|
||||
expect(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0)).
|
||||
to.roughlyEqual(1389.1058, 1e-9);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0)).
|
||||
to.roughlyEqual(1389.1058, 1e-9);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -88,24 +88,24 @@ describe('ol.geom.flat.closest', function() {
|
||||
describe('ol.geom.flat.closest.getClosestPoint', function() {
|
||||
|
||||
it('returns the expected value', function() {
|
||||
var maxDelta = Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0));
|
||||
const maxDelta = Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 0));
|
||||
expect(maxDelta).to.roughlyEqual(Math.sqrt(1389.1058), 1e-9);
|
||||
var closestPoint = [NaN, NaN];
|
||||
const closestPoint = [NaN, NaN];
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 0, 0, closestPoint, Infinity)).
|
||||
to.roughlyEqual(110902.405, 1e-9);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 0, 0, closestPoint, Infinity)).
|
||||
to.roughlyEqual(110902.405, 1e-9);
|
||||
expect(closestPoint).to.eql([292.41, 159.37]);
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 500, 500, closestPoint, Infinity)).
|
||||
to.roughlyEqual(106407.905, 1e-9);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 500, 500, closestPoint, Infinity)).
|
||||
to.roughlyEqual(106407.905, 1e-9);
|
||||
expect(closestPoint).to.eql([671.55, 222.55]);
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 1000, 500, closestPoint, Infinity)).
|
||||
to.roughlyEqual(18229.4425, 1e-9);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2,
|
||||
maxDelta, false, 1000, 500, closestPoint, Infinity)).
|
||||
to.roughlyEqual(18229.4425, 1e-9);
|
||||
expect(closestPoint).to.eql([866.36, 480.77]);
|
||||
});
|
||||
|
||||
@@ -115,20 +115,20 @@ describe('ol.geom.flat.closest', function() {
|
||||
|
||||
describe('with multi-dimensional data', function() {
|
||||
|
||||
var flatCoordinates = [0, 0, 10, -10, 2, 2, 30, -20];
|
||||
var stride = 4;
|
||||
const flatCoordinates = [0, 0, 10, -10, 2, 2, 30, -20];
|
||||
const stride = 4;
|
||||
|
||||
describe('ol.geom.flat.closest.getClosestPoint', function() {
|
||||
|
||||
it('interpolates M coordinates', function() {
|
||||
var maxDelta = Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, stride, 0));
|
||||
const maxDelta = Math.sqrt(_ol_geom_flat_closest_.getMaxSquaredDelta(
|
||||
flatCoordinates, 0, flatCoordinates.length, stride, 0));
|
||||
expect(maxDelta).to.roughlyEqual(Math.sqrt(8), 1e-9);
|
||||
var closestPoint = [NaN, NaN];
|
||||
const closestPoint = [NaN, NaN];
|
||||
expect(_ol_geom_flat_closest_.getClosestPoint(
|
||||
flatCoordinates, 0, flatCoordinates.length, stride,
|
||||
maxDelta, false, 1, 1, closestPoint, Infinity)).
|
||||
to.roughlyEqual(0, 1e-9);
|
||||
flatCoordinates, 0, flatCoordinates.length, stride,
|
||||
maxDelta, false, 1, 1, closestPoint, Infinity)).
|
||||
to.roughlyEqual(0, 1e-9);
|
||||
expect(closestPoint).to.have.length(stride);
|
||||
expect(closestPoint[0]).to.be(1);
|
||||
expect(closestPoint[1]).to.be(1);
|
||||
|
||||
@@ -5,34 +5,34 @@ describe('ol.geom.flat.contains', function() {
|
||||
|
||||
describe('with simple data', function() {
|
||||
|
||||
var flatCoordinatesSimple = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
var flatCoordinatesNonSimple = [0, 0, 4, 0, 4, 3, 1, 3, 1, 2, 3, 2, 3, 1, 2, 1, 2, 4, 0, 4];
|
||||
const flatCoordinatesSimple = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
const flatCoordinatesNonSimple = [0, 0, 4, 0, 4, 3, 1, 3, 1, 2, 3, 2, 3, 1, 2, 1, 2, 4, 0, 4];
|
||||
|
||||
describe('ol.geom.flat.contains.linearRingContainsXY', function() {
|
||||
|
||||
it('returns true for point inside a simple polygon', function() {
|
||||
expect(_ol_geom_flat_contains_.linearRingContainsXY(
|
||||
flatCoordinatesSimple, 0, flatCoordinatesSimple.length, 2, 0.5, 0.5)).to.be(true);
|
||||
flatCoordinatesSimple, 0, flatCoordinatesSimple.length, 2, 0.5, 0.5)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false for point outside a simple polygon', function() {
|
||||
expect(_ol_geom_flat_contains_.linearRingContainsXY(
|
||||
flatCoordinatesSimple, 0, flatCoordinatesSimple.length, 2, 1.5, 1.5)).to.be(false);
|
||||
flatCoordinatesSimple, 0, flatCoordinatesSimple.length, 2, 1.5, 1.5)).to.be(false);
|
||||
});
|
||||
|
||||
it('returns true for point inside a non-simple polygon', function() {
|
||||
expect(_ol_geom_flat_contains_.linearRingContainsXY(
|
||||
flatCoordinatesNonSimple, 0, flatCoordinatesNonSimple.length, 2, 1, 1)).to.be(true);
|
||||
flatCoordinatesNonSimple, 0, flatCoordinatesNonSimple.length, 2, 1, 1)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns true for point inside an overlap of a non-simple polygon', function() {
|
||||
expect(_ol_geom_flat_contains_.linearRingContainsXY(
|
||||
flatCoordinatesNonSimple, 0, flatCoordinatesNonSimple.length, 2, 1.5, 2.5)).to.be(true);
|
||||
flatCoordinatesNonSimple, 0, flatCoordinatesNonSimple.length, 2, 1.5, 2.5)).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false for a point inside a hole of a non-simple polygon', function() {
|
||||
expect(_ol_geom_flat_contains_.linearRingContainsXY(
|
||||
flatCoordinatesNonSimple, 0, flatCoordinatesNonSimple.length, 2, 2.5, 1.5)).to.be(false);
|
||||
flatCoordinatesNonSimple, 0, flatCoordinatesNonSimple.length, 2, 2.5, 1.5)).to.be(false);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -5,14 +5,14 @@ describe('ol.geom.flat.deflate', function() {
|
||||
|
||||
describe('ol.geom.flat.deflate.coordinates', function() {
|
||||
|
||||
var flatCoordinates;
|
||||
let flatCoordinates;
|
||||
beforeEach(function() {
|
||||
flatCoordinates = [];
|
||||
});
|
||||
|
||||
it('flattens coordinates', function() {
|
||||
var offset = _ol_geom_flat_deflate_.coordinates(
|
||||
flatCoordinates, 0, [[1, 2], [3, 4]], 2);
|
||||
const offset = _ol_geom_flat_deflate_.coordinates(
|
||||
flatCoordinates, 0, [[1, 2], [3, 4]], 2);
|
||||
expect(offset).to.be(4);
|
||||
expect(flatCoordinates).to.eql([1, 2, 3, 4]);
|
||||
});
|
||||
@@ -21,14 +21,14 @@ describe('ol.geom.flat.deflate', function() {
|
||||
|
||||
describe('ol.geom.flat.deflate.coordinatess', function() {
|
||||
|
||||
var flatCoordinates;
|
||||
let flatCoordinates;
|
||||
beforeEach(function() {
|
||||
flatCoordinates = [];
|
||||
});
|
||||
|
||||
it('flattens arrays of coordinates', function() {
|
||||
var ends = _ol_geom_flat_deflate_.coordinatess(flatCoordinates, 0,
|
||||
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]], 2);
|
||||
const ends = _ol_geom_flat_deflate_.coordinatess(flatCoordinates, 0,
|
||||
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]], 2);
|
||||
expect(ends).to.eql([4, 8]);
|
||||
expect(flatCoordinates).to.eql([1, 2, 3, 4, 5, 6, 7, 8]);
|
||||
});
|
||||
|
||||
@@ -6,31 +6,31 @@ describe('ol.geom.flat.flip', function() {
|
||||
describe('ol.geom.flat.flip.flipXY', function() {
|
||||
|
||||
it('can flip XY coordinates', function() {
|
||||
var flatCoordinates = _ol_geom_flat_flip_.flipXY([1, 2, 3, 4], 0, 4, 2);
|
||||
const flatCoordinates = _ol_geom_flat_flip_.flipXY([1, 2, 3, 4], 0, 4, 2);
|
||||
expect(flatCoordinates).to.eql([2, 1, 4, 3]);
|
||||
});
|
||||
|
||||
it('can flip XY coordinates while preserving other dimensions', function() {
|
||||
var flatCoordinates = _ol_geom_flat_flip_.flipXY(
|
||||
[1, 2, 3, 4, 5, 6, 7, 8], 0, 8, 4);
|
||||
const flatCoordinates = _ol_geom_flat_flip_.flipXY(
|
||||
[1, 2, 3, 4, 5, 6, 7, 8], 0, 8, 4);
|
||||
expect(flatCoordinates).to.eql([2, 1, 3, 4, 6, 5, 7, 8]);
|
||||
});
|
||||
|
||||
it('can flip XY coordinates in place', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4];
|
||||
const flatCoordinates = [1, 2, 3, 4];
|
||||
expect(_ol_geom_flat_flip_.flipXY(
|
||||
flatCoordinates, 0, 4, 2, flatCoordinates)).to.be(flatCoordinates);
|
||||
flatCoordinates, 0, 4, 2, flatCoordinates)).to.be(flatCoordinates);
|
||||
expect(flatCoordinates).to.eql([2, 1, 4, 3]);
|
||||
});
|
||||
|
||||
it('can flip XY coordinates in place while preserving other dimensions',
|
||||
function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
expect(_ol_geom_flat_flip_.flipXY(
|
||||
flatCoordinates, 0, 9, 3, flatCoordinates)).
|
||||
to.be(flatCoordinates);
|
||||
expect(flatCoordinates).to.eql([2, 1, 3, 5, 4, 6, 8, 7, 9]);
|
||||
});
|
||||
function() {
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
expect(_ol_geom_flat_flip_.flipXY(
|
||||
flatCoordinates, 0, 9, 3, flatCoordinates)).
|
||||
to.be(flatCoordinates);
|
||||
expect(flatCoordinates).to.eql([2, 1, 3, 5, 4, 6, 8, 7, 9]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ describe('ol.geom.flat.inflate', function() {
|
||||
describe('ol.geom.flat.inflate.coordinates', function() {
|
||||
|
||||
it('inflates coordinates', function() {
|
||||
var coordinates = _ol_geom_flat_inflate_.coordinates([1, 2, 3, 4], 0, 4, 2);
|
||||
const coordinates = _ol_geom_flat_inflate_.coordinates([1, 2, 3, 4], 0, 4, 2);
|
||||
expect(coordinates).to.eql([[1, 2], [3, 4]]);
|
||||
});
|
||||
|
||||
@@ -15,8 +15,8 @@ describe('ol.geom.flat.inflate', function() {
|
||||
describe('ol.geom.flat.inflate.coordinatess', function() {
|
||||
|
||||
it('inflates arrays of coordinates', function() {
|
||||
var coordinatess = _ol_geom_flat_inflate_.coordinatess(
|
||||
[1, 2, 3, 4, 5, 6, 7, 8], 0, [4, 8], 2);
|
||||
const coordinatess = _ol_geom_flat_inflate_.coordinatess(
|
||||
[1, 2, 3, 4, 5, 6, 7, 8], 0, [4, 8], 2);
|
||||
expect(coordinatess).to.eql([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]);
|
||||
});
|
||||
|
||||
|
||||
@@ -6,15 +6,15 @@ describe('ol.geom.flat.interpolate', function() {
|
||||
describe('ol.geom.flat.interpolate.lineString', function() {
|
||||
|
||||
it('returns the expected value for single points', function() {
|
||||
var flatCoordinates = [0, 1];
|
||||
var point =
|
||||
const flatCoordinates = [0, 1];
|
||||
const point =
|
||||
_ol_geom_flat_interpolate_.lineString(flatCoordinates, 0, 2, 2, 0.5);
|
||||
expect(point).to.eql([0, 1]);
|
||||
});
|
||||
|
||||
it('returns the expected value for simple line segments', function() {
|
||||
var flatCoordinates = [0, 1, 2, 3];
|
||||
var point =
|
||||
const flatCoordinates = [0, 1, 2, 3];
|
||||
const point =
|
||||
_ol_geom_flat_interpolate_.lineString(flatCoordinates, 0, 4, 2, 0.5);
|
||||
expect(point).to.eql([1, 2]);
|
||||
});
|
||||
@@ -22,58 +22,58 @@ describe('ol.geom.flat.interpolate', function() {
|
||||
it('returns the expected value when the mid point is an existing ' +
|
||||
'coordinate',
|
||||
function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 4, 5];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
const flatCoordinates = [0, 1, 2, 3, 4, 5];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
expect(point).to.eql([2, 3]);
|
||||
});
|
||||
|
||||
xit('also when vertices are repeated', function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 2, 3, 4, 5];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
const flatCoordinates = [0, 1, 2, 3, 2, 3, 4, 5];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
expect(point).to.eql([2, 3]);
|
||||
});
|
||||
|
||||
it('returns the expected value when the midpoint falls halfway between ' +
|
||||
'two existing coordinates',
|
||||
function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 4, 5, 6, 7];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 8, 2, 0.5);
|
||||
const flatCoordinates = [0, 1, 2, 3, 4, 5, 6, 7];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 8, 2, 0.5);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
|
||||
xit('also when vertices are repeated', function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 2, 3, 4, 5, 6, 7];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 8, 2, 0.5);
|
||||
const flatCoordinates = [0, 1, 2, 3, 2, 3, 4, 5, 6, 7];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 8, 2, 0.5);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
|
||||
it('returns the expected value when the coordinates are not evenly spaced',
|
||||
function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 6, 7];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
function() {
|
||||
const flatCoordinates = [0, 1, 2, 3, 6, 7];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
|
||||
xit('also when vertices are repeated',
|
||||
function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 2, 3, 6, 7];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
function() {
|
||||
const flatCoordinates = [0, 1, 2, 3, 2, 3, 6, 7];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
|
||||
it('returns the expected value when using opt_dest',
|
||||
function() {
|
||||
var flatCoordinates = [0, 1, 2, 3, 6, 7];
|
||||
var point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5, [0, 0]);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
function() {
|
||||
const flatCoordinates = [0, 1, 2, 3, 6, 7];
|
||||
const point = _ol_geom_flat_interpolate_.lineString(
|
||||
flatCoordinates, 0, 6, 2, 0.5, [0, 0]);
|
||||
expect(point).to.eql([3, 4]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -4,69 +4,69 @@ import _ol_geom_flat_intersectsextent_ from '../../../../../src/ol/geom/flat/int
|
||||
describe('ol.geom.flat.intersectsextent', function() {
|
||||
|
||||
describe('ol.geom.flat.intersectsextent.lineString', function() {
|
||||
var flatCoordinates;
|
||||
let flatCoordinates;
|
||||
beforeEach(function() {
|
||||
flatCoordinates = [0, 0, 1, 1, 2, 2];
|
||||
});
|
||||
describe('linestring envelope does not intersect the extent', function() {
|
||||
it('returns false', function() {
|
||||
var extent = [3, 3, 4, 4];
|
||||
var r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [3, 3, 4, 4];
|
||||
const r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(false);
|
||||
});
|
||||
});
|
||||
describe('linestring envelope within the extent', function() {
|
||||
it('returns true', function() {
|
||||
var extent = [-1, -1, 3, 3];
|
||||
var r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [-1, -1, 3, 3];
|
||||
const r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(true);
|
||||
});
|
||||
});
|
||||
describe('linestring envelope bisected by an edge of the extent',
|
||||
function() {
|
||||
it('returns true', function() {
|
||||
var extent = [-0.1, 0.1, 2.1, 0.1];
|
||||
var r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(true);
|
||||
});
|
||||
function() {
|
||||
it('returns true', function() {
|
||||
const extent = [-0.1, 0.1, 2.1, 0.1];
|
||||
const r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(true);
|
||||
});
|
||||
});
|
||||
describe('a segment intersects the extent', function() {
|
||||
it('returns true', function() {
|
||||
var extent = [-0.5, -0.5, 0.5, 0.5];
|
||||
var r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [-0.5, -0.5, 0.5, 0.5];
|
||||
const r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(true);
|
||||
});
|
||||
});
|
||||
describe('no segments intersect the extent', function() {
|
||||
it('returns false', function() {
|
||||
var extent = [0.5, 1.5, 1, 1.75];
|
||||
var r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [0.5, 1.5, 1, 1.75];
|
||||
const r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(false);
|
||||
});
|
||||
it('returns false', function() {
|
||||
var extent = [1, 0.25, 1.5, 0.5];
|
||||
var r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [1, 0.25, 1.5, 0.5];
|
||||
const r = _ol_geom_flat_intersectsextent_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('ol.geom.flat.intersectsextent.linearRing', function() {
|
||||
var flatCoordinates;
|
||||
let flatCoordinates;
|
||||
beforeEach(function() {
|
||||
flatCoordinates = [0, 0, 1, 1, 2, 0, 1, -1, 0, 0];
|
||||
});
|
||||
describe('boundary intersects the extent', function() {
|
||||
it('returns true', function() {
|
||||
var extent = [1.5, 0.0, 2.5, 1.0];
|
||||
var r = _ol_geom_flat_intersectsextent_.linearRing(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [1.5, 0.0, 2.5, 1.0];
|
||||
const r = _ol_geom_flat_intersectsextent_.linearRing(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(true);
|
||||
});
|
||||
});
|
||||
@@ -74,17 +74,17 @@ describe('ol.geom.flat.intersectsextent', function() {
|
||||
'contain a corner of the extent',
|
||||
function() {
|
||||
it('returns false', function() {
|
||||
var extent = [2.0, 0.5, 3, 1.5];
|
||||
var r = _ol_geom_flat_intersectsextent_.linearRing(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [2.0, 0.5, 3, 1.5];
|
||||
const r = _ol_geom_flat_intersectsextent_.linearRing(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(false);
|
||||
});
|
||||
});
|
||||
describe('ring contains the extent', function() {
|
||||
it('returns true', function() {
|
||||
var extent = [0.75, -0.25, 1.25, 0.25];
|
||||
var r = _ol_geom_flat_intersectsextent_.linearRing(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
const extent = [0.75, -0.25, 1.25, 0.25];
|
||||
const r = _ol_geom_flat_intersectsextent_.linearRing(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, extent);
|
||||
expect(r).to.be(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -6,60 +6,60 @@ describe('ol.geom.flat.length', function() {
|
||||
describe('ol.geom.flat.length.lineString', function() {
|
||||
|
||||
describe('stride = 2', function() {
|
||||
var flatCoords = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
var stride = 2;
|
||||
const flatCoords = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
const stride = 2;
|
||||
|
||||
it('calculates the total length of a lineString', function() {
|
||||
var offset = 0;
|
||||
var end = 8;
|
||||
var expected = 3;
|
||||
var got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
const offset = 0;
|
||||
const end = 8;
|
||||
const expected = 3;
|
||||
const got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
it('calculates a partwise length of a lineString (offset)', function() {
|
||||
var offset = 2;
|
||||
var end = 8;
|
||||
var expected = 2;
|
||||
var got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
const offset = 2;
|
||||
const end = 8;
|
||||
const expected = 2;
|
||||
const got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
it('calculates a partwise length of a lineString (end)', function() {
|
||||
var offset = 0;
|
||||
var end = 4;
|
||||
var expected = 1;
|
||||
var got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
const offset = 0;
|
||||
const end = 4;
|
||||
const expected = 1;
|
||||
const got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('stride = 3', function() {
|
||||
var flatCoords = [0, 0, 42, 1, 0, 42, 1, 1, 42, 0, 1, 42];
|
||||
var stride = 3;
|
||||
const flatCoords = [0, 0, 42, 1, 0, 42, 1, 1, 42, 0, 1, 42];
|
||||
const stride = 3;
|
||||
|
||||
it('calculates the total length of a lineString', function() {
|
||||
var offset = 0;
|
||||
var end = 12;
|
||||
var expected = 3;
|
||||
var got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
const offset = 0;
|
||||
const end = 12;
|
||||
const expected = 3;
|
||||
const got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
it('calculates a partwise length of a lineString (offset)', function() {
|
||||
var offset = 3;
|
||||
var end = 12;
|
||||
var expected = 2;
|
||||
var got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
const offset = 3;
|
||||
const end = 12;
|
||||
const expected = 2;
|
||||
const got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
it('calculates a partwise length of a lineString (end)', function() {
|
||||
var offset = 0;
|
||||
var end = 6;
|
||||
var expected = 1;
|
||||
var got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
const offset = 0;
|
||||
const end = 6;
|
||||
const expected = 1;
|
||||
const got = _ol_geom_flat_length_.lineString(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
@@ -69,22 +69,22 @@ describe('ol.geom.flat.length', function() {
|
||||
describe('ol.geom.flat.length.linearRing', function() {
|
||||
|
||||
it('calculates the total length of a simple linearRing', function() {
|
||||
var flatCoords = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
var stride = 2;
|
||||
var offset = 0;
|
||||
var end = 8;
|
||||
var expected = 4;
|
||||
var got = _ol_geom_flat_length_.linearRing(flatCoords, offset, end, stride);
|
||||
const flatCoords = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
const stride = 2;
|
||||
const offset = 0;
|
||||
const end = 8;
|
||||
const expected = 4;
|
||||
const got = _ol_geom_flat_length_.linearRing(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
it('calculates the total length of a figure-8 linearRing', function() {
|
||||
var flatCoords = [0, 0, 1, 0, 1, 1, 0, 1, 0, -1, -1, -1, -1, 0];
|
||||
var stride = 2;
|
||||
var offset = 0;
|
||||
var end = 14;
|
||||
var expected = 8;
|
||||
var got = _ol_geom_flat_length_.linearRing(flatCoords, offset, end, stride);
|
||||
const flatCoords = [0, 0, 1, 0, 1, 1, 0, 1, 0, -1, -1, -1, -1, 0];
|
||||
const stride = 2;
|
||||
const offset = 0;
|
||||
const end = 14;
|
||||
const expected = 8;
|
||||
const got = _ol_geom_flat_length_.linearRing(flatCoords, offset, end, stride);
|
||||
expect(got).to.be(expected);
|
||||
});
|
||||
|
||||
|
||||
@@ -6,35 +6,35 @@ describe('ol.geom.flat.orient', function() {
|
||||
describe('ol.geom.flat.orient.linearRingIsClockwise()', function() {
|
||||
|
||||
it('identifies clockwise rings', function() {
|
||||
var flatCoordinates = [0, 1, 1, 4, 4, 3, 3, 0];
|
||||
var isClockwise = _ol_geom_flat_orient_.linearRingIsClockwise(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
const flatCoordinates = [0, 1, 1, 4, 4, 3, 3, 0];
|
||||
const isClockwise = _ol_geom_flat_orient_.linearRingIsClockwise(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(isClockwise).to.be(true);
|
||||
});
|
||||
|
||||
it('identifies anti-clockwise rings', function() {
|
||||
var flatCoordinates = [2, 2, 3, 2, 3, 3, 2, 3];
|
||||
var isClockwise = _ol_geom_flat_orient_.linearRingIsClockwise(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
const flatCoordinates = [2, 2, 3, 2, 3, 3, 2, 3];
|
||||
const isClockwise = _ol_geom_flat_orient_.linearRingIsClockwise(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(isClockwise).to.be(false);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('ol.geom.flat.orient.linearRingsAreOriented()', function() {
|
||||
var oriented = _ol_geom_flat_orient_.linearRingsAreOriented;
|
||||
const oriented = _ol_geom_flat_orient_.linearRingsAreOriented;
|
||||
|
||||
var rightCoords = [
|
||||
const rightCoords = [
|
||||
-180, -90, 180, -90, 180, 90, -180, 90, -180, -90,
|
||||
-100, -45, -100, 45, 100, 45, 100, -45, -100, -45
|
||||
];
|
||||
|
||||
var leftCoords = [
|
||||
const leftCoords = [
|
||||
-180, -90, -180, 90, 180, 90, 180, -90, -180, -90,
|
||||
-100, -45, 100, -45, 100, 45, -100, 45, -100, -45
|
||||
];
|
||||
|
||||
var ends = [10, 20];
|
||||
const ends = [10, 20];
|
||||
|
||||
it('checks for left-hand orientation by default', function() {
|
||||
expect(oriented(rightCoords, 0, ends, 2)).to.be(false);
|
||||
@@ -49,23 +49,23 @@ describe('ol.geom.flat.orient', function() {
|
||||
});
|
||||
|
||||
describe('ol.geom.flat.orient.linearRingssAreOriented()', function() {
|
||||
var oriented = _ol_geom_flat_orient_.linearRingssAreOriented;
|
||||
const oriented = _ol_geom_flat_orient_.linearRingssAreOriented;
|
||||
|
||||
var rightCoords = [
|
||||
const rightCoords = [
|
||||
-180, -90, 180, -90, 180, 90, -180, 90, -180, -90,
|
||||
-100, -45, -100, 45, 100, 45, 100, -45, -100, -45,
|
||||
-180, -90, 180, -90, 180, 90, -180, 90, -180, -90,
|
||||
-100, -45, -100, 45, 100, 45, 100, -45, -100, -45
|
||||
];
|
||||
|
||||
var leftCoords = [
|
||||
const leftCoords = [
|
||||
-180, -90, -180, 90, 180, 90, 180, -90, -180, -90,
|
||||
-100, -45, 100, -45, 100, 45, -100, 45, -100, -45,
|
||||
-180, -90, -180, 90, 180, 90, 180, -90, -180, -90,
|
||||
-100, -45, 100, -45, 100, 45, -100, 45, -100, -45
|
||||
];
|
||||
|
||||
var ends = [[10, 20], [30, 40]];
|
||||
const ends = [[10, 20], [30, 40]];
|
||||
|
||||
it('checks for left-hand orientation by default', function() {
|
||||
expect(oriented(rightCoords, 0, ends, 2)).to.be(false);
|
||||
@@ -80,36 +80,36 @@ describe('ol.geom.flat.orient', function() {
|
||||
});
|
||||
|
||||
describe('ol.geom.flat.orient.orientLinearRings()', function() {
|
||||
var orient = _ol_geom_flat_orient_.orientLinearRings;
|
||||
const orient = _ol_geom_flat_orient_.orientLinearRings;
|
||||
|
||||
var rightCoords = [
|
||||
const rightCoords = [
|
||||
-180, -90, 180, -90, 180, 90, -180, 90, -180, -90,
|
||||
-100, -45, -100, 45, 100, 45, 100, -45, -100, -45
|
||||
];
|
||||
|
||||
var leftCoords = [
|
||||
const leftCoords = [
|
||||
-180, -90, -180, 90, 180, 90, 180, -90, -180, -90,
|
||||
-100, -45, 100, -45, 100, 45, -100, 45, -100, -45
|
||||
];
|
||||
|
||||
var ends = [10, 20];
|
||||
const ends = [10, 20];
|
||||
|
||||
it('orients using the left-hand rule by default', function() {
|
||||
var rightClone = rightCoords.slice();
|
||||
const rightClone = rightCoords.slice();
|
||||
orient(rightClone, 0, ends, 2);
|
||||
expect(rightClone).to.eql(leftCoords);
|
||||
|
||||
var leftClone = leftCoords.slice();
|
||||
const leftClone = leftCoords.slice();
|
||||
orient(leftClone, 0, ends, 2);
|
||||
expect(leftClone).to.eql(leftCoords);
|
||||
});
|
||||
|
||||
it('can orient using the right-hand rule', function() {
|
||||
var rightClone = rightCoords.slice();
|
||||
const rightClone = rightCoords.slice();
|
||||
orient(rightClone, 0, ends, 2, true);
|
||||
expect(rightClone).to.eql(rightCoords);
|
||||
|
||||
var leftClone = leftCoords.slice();
|
||||
const leftClone = leftCoords.slice();
|
||||
orient(leftClone, 0, ends, 2, true);
|
||||
expect(leftClone).to.eql(rightCoords);
|
||||
});
|
||||
@@ -117,40 +117,40 @@ describe('ol.geom.flat.orient', function() {
|
||||
});
|
||||
|
||||
describe('ol.geom.flat.orient.orientLinearRingss()', function() {
|
||||
var orient = _ol_geom_flat_orient_.orientLinearRingss;
|
||||
const orient = _ol_geom_flat_orient_.orientLinearRingss;
|
||||
|
||||
var rightCoords = [
|
||||
const rightCoords = [
|
||||
-180, -90, 180, -90, 180, 90, -180, 90, -180, -90,
|
||||
-100, -45, -100, 45, 100, 45, 100, -45, -100, -45,
|
||||
-180, -90, 180, -90, 180, 90, -180, 90, -180, -90,
|
||||
-100, -45, -100, 45, 100, 45, 100, -45, -100, -45
|
||||
];
|
||||
|
||||
var leftCoords = [
|
||||
const leftCoords = [
|
||||
-180, -90, -180, 90, 180, 90, 180, -90, -180, -90,
|
||||
-100, -45, 100, -45, 100, 45, -100, 45, -100, -45,
|
||||
-180, -90, -180, 90, 180, 90, 180, -90, -180, -90,
|
||||
-100, -45, 100, -45, 100, 45, -100, 45, -100, -45
|
||||
];
|
||||
|
||||
var ends = [[10, 20], [30, 40]];
|
||||
const ends = [[10, 20], [30, 40]];
|
||||
|
||||
it('orients using the left-hand rule by default', function() {
|
||||
var rightClone = rightCoords.slice();
|
||||
const rightClone = rightCoords.slice();
|
||||
orient(rightClone, 0, ends, 2);
|
||||
expect(rightClone).to.eql(leftCoords);
|
||||
|
||||
var leftClone = leftCoords.slice();
|
||||
const leftClone = leftCoords.slice();
|
||||
orient(leftClone, 0, ends, 2);
|
||||
expect(leftClone).to.eql(leftCoords);
|
||||
});
|
||||
|
||||
it('can orient using the right-hand rule', function() {
|
||||
var rightClone = rightCoords.slice();
|
||||
const rightClone = rightCoords.slice();
|
||||
orient(rightClone, 0, ends, 2, true);
|
||||
expect(rightClone).to.eql(rightCoords);
|
||||
|
||||
var leftClone = leftCoords.slice();
|
||||
const leftClone = leftCoords.slice();
|
||||
orient(leftClone, 0, ends, 2, true);
|
||||
expect(leftClone).to.eql(rightCoords);
|
||||
});
|
||||
|
||||
@@ -8,37 +8,37 @@ describe('ol.geom.flat.reverse', function() {
|
||||
describe('with a stride of 2', function() {
|
||||
|
||||
it('can reverse empty flat coordinates', function() {
|
||||
var flatCoordinates = [];
|
||||
const flatCoordinates = [];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(flatCoordinates).to.be.empty();
|
||||
});
|
||||
|
||||
it('can reverse one flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2];
|
||||
const flatCoordinates = [1, 2];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(flatCoordinates).to.eql([1, 2]);
|
||||
});
|
||||
|
||||
it('can reverse two flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4];
|
||||
const flatCoordinates = [1, 2, 3, 4];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(flatCoordinates).to.eql([3, 4, 1, 2]);
|
||||
});
|
||||
|
||||
it('can reverse three flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(flatCoordinates).to.eql([5, 6, 3, 4, 1, 2]);
|
||||
});
|
||||
|
||||
it('can reverse four flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(flatCoordinates).to.eql([7, 8, 5, 6, 3, 4, 1, 2]);
|
||||
});
|
||||
|
||||
@@ -47,37 +47,37 @@ describe('ol.geom.flat.reverse', function() {
|
||||
describe('with a stride of 3', function() {
|
||||
|
||||
it('can reverse empty flat coordinates', function() {
|
||||
var flatCoordinates = [];
|
||||
const flatCoordinates = [];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
expect(flatCoordinates).to.be.empty();
|
||||
});
|
||||
|
||||
it('can reverse one flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3];
|
||||
const flatCoordinates = [1, 2, 3];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
expect(flatCoordinates).to.eql([1, 2, 3]);
|
||||
});
|
||||
|
||||
it('can reverse two flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
expect(flatCoordinates).to.eql([4, 5, 6, 1, 2, 3]);
|
||||
});
|
||||
|
||||
it('can reverse three flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
expect(flatCoordinates).to.eql([7, 8, 9, 4, 5, 6, 1, 2, 3]);
|
||||
});
|
||||
|
||||
it('can reverse four flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
flatCoordinates, 0, flatCoordinates.length, 3);
|
||||
expect(flatCoordinates).to.eql([10, 11, 12, 7, 8, 9, 4, 5, 6, 1, 2, 3]);
|
||||
});
|
||||
|
||||
@@ -86,40 +86,40 @@ describe('ol.geom.flat.reverse', function() {
|
||||
describe('with a stride of 4', function() {
|
||||
|
||||
it('can reverse empty flat coordinates', function() {
|
||||
var flatCoordinates = [];
|
||||
const flatCoordinates = [];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
expect(flatCoordinates).to.be.empty();
|
||||
});
|
||||
|
||||
it('can reverse one flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4];
|
||||
const flatCoordinates = [1, 2, 3, 4];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
expect(flatCoordinates).to.eql([1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
it('can reverse two flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
expect(flatCoordinates).to.eql([5, 6, 7, 8, 1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
it('can reverse three flat coordinates', function() {
|
||||
var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||
const flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
expect(flatCoordinates).to.eql([9, 10, 11, 12, 5, 6, 7, 8, 1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
it('can reverse four flat coordinates', function() {
|
||||
var flatCoordinates =
|
||||
const flatCoordinates =
|
||||
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
|
||||
_ol_geom_flat_reverse_.coordinates(
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
flatCoordinates, 0, flatCoordinates.length, 4);
|
||||
expect(flatCoordinates).to.eql(
|
||||
[13, 14, 15, 16, 9, 10, 11, 12, 5, 6, 7, 8, 1, 2, 3, 4]);
|
||||
[13, 14, 15, 16, 9, 10, 11, 12, 5, 6, 7, 8, 1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -4,7 +4,7 @@ import _ol_geom_flat_segments_ from '../../../../../src/ol/geom/flat/segments.js
|
||||
describe('ol.geom.flat.segments', function() {
|
||||
|
||||
describe('ol.geom.flat.segments.forEach', function() {
|
||||
var flatCoordinates, offset, end, stride;
|
||||
let flatCoordinates, offset, end, stride;
|
||||
beforeEach(function() {
|
||||
flatCoordinates = [0, 0, 1, 1, 2, 2, 3, 3];
|
||||
offset = 0;
|
||||
@@ -13,12 +13,12 @@ describe('ol.geom.flat.segments', function() {
|
||||
});
|
||||
describe('callback returns undefined', function() {
|
||||
it('executes the callback for each segment', function() {
|
||||
var args = [];
|
||||
var spy = sinon.spy(function(point1, point2) {
|
||||
const args = [];
|
||||
const spy = sinon.spy(function(point1, point2) {
|
||||
args.push([point1[0], point1[1], point2[0], point2[1]]);
|
||||
});
|
||||
var ret = _ol_geom_flat_segments_.forEach(
|
||||
flatCoordinates, offset, end, stride, spy);
|
||||
const ret = _ol_geom_flat_segments_.forEach(
|
||||
flatCoordinates, offset, end, stride, spy);
|
||||
expect(spy.callCount).to.be(3);
|
||||
expect(args[0][0]).to.be(0);
|
||||
expect(args[0][1]).to.be(0);
|
||||
@@ -37,13 +37,13 @@ describe('ol.geom.flat.segments', function() {
|
||||
});
|
||||
describe('callback returns true', function() {
|
||||
it('executes the callback for the first segment', function() {
|
||||
var args = [];
|
||||
var spy = sinon.spy(function(point1, point2) {
|
||||
const args = [];
|
||||
const spy = sinon.spy(function(point1, point2) {
|
||||
args.push([point1[0], point1[1], point2[0], point2[1]]);
|
||||
return true;
|
||||
});
|
||||
var ret = _ol_geom_flat_segments_.forEach(
|
||||
flatCoordinates, offset, end, stride, spy);
|
||||
const ret = _ol_geom_flat_segments_.forEach(
|
||||
flatCoordinates, offset, end, stride, spy);
|
||||
expect(spy.callCount).to.be(1);
|
||||
expect(args[0][0]).to.be(0);
|
||||
expect(args[0][1]).to.be(0);
|
||||
|
||||
@@ -3,7 +3,7 @@ import _ol_geom_flat_simplify_ from '../../../../../src/ol/geom/flat/simplify.js
|
||||
|
||||
describe('ol.geom.flat.simplify', function() {
|
||||
|
||||
var flatCoordinates = [
|
||||
const flatCoordinates = [
|
||||
224.55, 250.15, 226.91, 244.19, 233.31, 241.45, 234.98, 236.06,
|
||||
244.21, 232.76, 262.59, 215.31, 267.76, 213.81, 273.57, 201.84,
|
||||
273.12, 192.16, 277.62, 189.03, 280.36, 181.41, 286.51, 177.74,
|
||||
@@ -31,7 +31,7 @@ describe('ol.geom.flat.simplify', function() {
|
||||
847.16, 458.44, 851.38, 462.79, 853.97, 471.15, 866.36, 480.77
|
||||
];
|
||||
|
||||
var simplifiedRadiallyFlatCoordinates = [
|
||||
const simplifiedRadiallyFlatCoordinates = [
|
||||
224.55, 250.15, 226.91, 244.19, 233.31, 241.45, 234.98, 236.06,
|
||||
244.21, 232.76, 262.59, 215.31, 267.76, 213.81, 273.57, 201.84,
|
||||
273.12, 192.16, 277.62, 189.03, 280.36, 181.41, 286.51, 177.74,
|
||||
@@ -57,7 +57,7 @@ describe('ol.geom.flat.simplify', function() {
|
||||
851.38, 462.79, 853.97, 471.15, 866.36, 480.77
|
||||
];
|
||||
|
||||
var simplifiedFlatCoordinates = [
|
||||
const simplifiedFlatCoordinates = [
|
||||
224.55, 250.15, 267.76, 213.81, 296.91, 155.64, 330.33, 137.57,
|
||||
409.52, 141.14, 439.60, 119.74, 486.51, 106.75, 529.57, 127.86,
|
||||
539.27, 147.24, 617.74, 159.86, 629.55, 194.60, 671.55, 222.55,
|
||||
@@ -69,7 +69,7 @@ describe('ol.geom.flat.simplify', function() {
|
||||
866.36, 480.77
|
||||
];
|
||||
|
||||
var simplifiedHighQualityFlatCoordinates = [
|
||||
const simplifiedHighQualityFlatCoordinates = [
|
||||
224.55, 250.15, 267.76, 213.81, 296.91, 155.64, 330.33, 137.57,
|
||||
409.52, 141.14, 439.60, 119.74, 486.51, 106.75, 529.57, 127.86,
|
||||
539.27, 147.24, 617.74, 159.86, 629.55, 194.60, 671.55, 222.55,
|
||||
@@ -85,28 +85,28 @@ describe('ol.geom.flat.simplify', function() {
|
||||
|
||||
it('works with empty line strings', function() {
|
||||
expect(_ol_geom_flat_simplify_.lineString([], 0, 0, 2, 1, true)).to.
|
||||
eql([]);
|
||||
eql([]);
|
||||
expect(_ol_geom_flat_simplify_.lineString([], 0, 0, 2, 1, false)).to.
|
||||
eql([]);
|
||||
eql([]);
|
||||
});
|
||||
|
||||
it('works with a line string with a single point', function() {
|
||||
expect(_ol_geom_flat_simplify_.lineString([1, 2], 0, 2, 2, 1, true)).to.
|
||||
eql([1, 2]);
|
||||
eql([1, 2]);
|
||||
expect(_ol_geom_flat_simplify_.lineString([1, 2], 0, 2, 2, 1, false)).to.
|
||||
eql([1, 2]);
|
||||
eql([1, 2]);
|
||||
});
|
||||
|
||||
it('returns the expected result with low quality', function() {
|
||||
var result = _ol_geom_flat_simplify_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, false);
|
||||
const result = _ol_geom_flat_simplify_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, false);
|
||||
expect(result.length).to.be(simplifiedFlatCoordinates.length);
|
||||
expect(result).to.eql(simplifiedFlatCoordinates);
|
||||
});
|
||||
|
||||
it('returns the expected result with high quality', function() {
|
||||
var result = _ol_geom_flat_simplify_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, true);
|
||||
const result = _ol_geom_flat_simplify_.lineString(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, true);
|
||||
expect(result.length).to.be(simplifiedHighQualityFlatCoordinates.length);
|
||||
expect(result).to.eql(simplifiedHighQualityFlatCoordinates);
|
||||
});
|
||||
@@ -115,71 +115,71 @@ describe('ol.geom.flat.simplify', function() {
|
||||
|
||||
describe('ol.geom.flat.simplify.radialDistance', function() {
|
||||
|
||||
var dest;
|
||||
let dest;
|
||||
beforeEach(function() {
|
||||
dest = [];
|
||||
});
|
||||
|
||||
it('works with empty line strings', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[], 0, 0, 2, 1, dest, 0)).to.be(0);
|
||||
[], 0, 0, 2, 1, dest, 0)).to.be(0);
|
||||
expect(dest).to.eql([]);
|
||||
});
|
||||
|
||||
it('works with a line string with a single point', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[1, 2], 0, 2, 2, 1, dest, 0)).to.be(2);
|
||||
[1, 2], 0, 2, 2, 1, dest, 0)).to.be(2);
|
||||
expect(dest).to.eql([1, 2]);
|
||||
});
|
||||
|
||||
it('works with a line string with two points', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[1, 2, 3, 4], 0, 4, 2, 1, dest, 0)).to.be(4);
|
||||
[1, 2, 3, 4], 0, 4, 2, 1, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
it('works when the points are widely spaced', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 0.5, dest, 0)).to.be(8);
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 0.5, dest, 0)).to.be(8);
|
||||
expect(dest).to.eql([0, 0, 1, 0, 2, 0, 3, 0]);
|
||||
});
|
||||
|
||||
it('works when the spacing matches the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1, dest, 0)).to.be(6);
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1, dest, 0)).to.be(6);
|
||||
expect(dest).to.eql([0, 0, 2, 0, 3, 0]);
|
||||
});
|
||||
|
||||
it('works when the points are closely spaced', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1.5, dest, 0)).to.be(6);
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1.5, dest, 0)).to.be(6);
|
||||
expect(dest).to.eql([0, 0, 2, 0, 3, 0]);
|
||||
});
|
||||
|
||||
it('works when the line oscillates with widely spaced points', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 1, dest, 0)).
|
||||
to.be(12);
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 1, dest, 0)).
|
||||
to.be(12);
|
||||
expect(dest).to.eql([0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1]);
|
||||
});
|
||||
|
||||
it('works when the line oscillates with closely spaced points', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 2, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 2, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 1, 1]);
|
||||
});
|
||||
|
||||
it('works when the line oscillates within the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0], 0, 14, 2, 2, dest, 0)).
|
||||
to.be(2);
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0], 0, 14, 2, 2, dest, 0)).
|
||||
to.be(2);
|
||||
expect(dest).to.eql([0, 0]);
|
||||
});
|
||||
|
||||
it('works with real data', function() {
|
||||
expect(_ol_geom_flat_simplify_.radialDistance(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, dest, 0)).
|
||||
to.be(simplifiedRadiallyFlatCoordinates.length);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, dest, 0)).
|
||||
to.be(simplifiedRadiallyFlatCoordinates.length);
|
||||
expect(dest).to.eql(simplifiedRadiallyFlatCoordinates);
|
||||
});
|
||||
|
||||
@@ -187,101 +187,101 @@ describe('ol.geom.flat.simplify', function() {
|
||||
|
||||
describe('ol.geom.flat.simplify.douglasPeucker', function() {
|
||||
|
||||
var dest;
|
||||
let dest;
|
||||
beforeEach(function() {
|
||||
dest = [];
|
||||
});
|
||||
|
||||
it('works with empty line strings', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[], 0, 0, 2, 1, dest, 0)).to.be(0);
|
||||
[], 0, 0, 2, 1, dest, 0)).to.be(0);
|
||||
expect(dest).to.eql([]);
|
||||
});
|
||||
|
||||
it('works with a line string with a single point', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[1, 2], 0, 2, 2, 1, dest, 0)).to.be(2);
|
||||
[1, 2], 0, 2, 2, 1, dest, 0)).to.be(2);
|
||||
expect(dest).to.eql([1, 2]);
|
||||
});
|
||||
|
||||
it('works with a line string with two points', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[1, 2, 3, 4], 0, 4, 2, 1, dest, 0)).to.be(4);
|
||||
[1, 2, 3, 4], 0, 4, 2, 1, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
it('works when the points are widely spaced', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 0.5, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 0.5, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 3, 0]);
|
||||
});
|
||||
|
||||
it('works when the spacing matches the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 3, 0]);
|
||||
});
|
||||
|
||||
it('works when the points are closely spaced', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1.5, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 0, 2, 0, 3, 0], 0, 8, 2, 1.5, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 3, 0]);
|
||||
});
|
||||
|
||||
it('does not elimnate points outside the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 2, 0], 0, 6, 2, 0.5, dest, 0)).to.be(6);
|
||||
[0, 0, 1, 1, 2, 0], 0, 6, 2, 0.5, dest, 0)).to.be(6);
|
||||
expect(dest).to.eql([0, 0, 1, 1, 2, 0]);
|
||||
});
|
||||
|
||||
it('does eliminate points within the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 2, 0], 0, 6, 2, 2, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 1, 2, 0], 0, 6, 2, 2, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 2, 0]);
|
||||
});
|
||||
|
||||
it('does not eliminate multiple points outside the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 1, -1, 2, 0], 0, 8, 2, 0.5, dest, 0)).to.be(8);
|
||||
[0, 0, 1, 1, 1, -1, 2, 0], 0, 8, 2, 0.5, dest, 0)).to.be(8);
|
||||
expect(dest).to.eql([0, 0, 1, 1, 1, -1, 2, 0]);
|
||||
});
|
||||
|
||||
it('does eliminate multiple points within the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 1, -1, 2, 0], 0, 8, 2, 2, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 1, 1, -1, 2, 0], 0, 8, 2, 2, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 2, 0]);
|
||||
});
|
||||
|
||||
it('works when the line oscillates with widely spaced points', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 1, dest, 0)).to.be(4);
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 1, dest, 0)).to.be(4);
|
||||
expect(dest).to.eql([0, 0, 1, 1]);
|
||||
});
|
||||
|
||||
it('works when the line oscillates with closely spaced points', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 2, dest, 0)).
|
||||
to.be(4);
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1], 0, 12, 2, 2, dest, 0)).
|
||||
to.be(4);
|
||||
expect(dest).to.eql([0, 0, 1, 1]);
|
||||
});
|
||||
|
||||
it('works when the line oscillates within the tolerance', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0], 0, 14, 2, 2, dest, 0)).
|
||||
to.be(4);
|
||||
[0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0], 0, 14, 2, 2, dest, 0)).
|
||||
to.be(4);
|
||||
expect(dest).to.eql([0, 0, 0, 0]);
|
||||
});
|
||||
|
||||
it('works on small triangles', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
[3, 0, 4, 1, 5, 2, 5, 0], 0, 8, 2, 1, dest, 0)).to.be(6);
|
||||
[3, 0, 4, 1, 5, 2, 5, 0], 0, 8, 2, 1, dest, 0)).to.be(6);
|
||||
expect(dest).to.eql([3, 0, 5, 2, 5, 0]);
|
||||
});
|
||||
|
||||
it('is the same as high quality simplification', function() {
|
||||
expect(_ol_geom_flat_simplify_.douglasPeucker(
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, dest, 0)).
|
||||
to.be(simplifiedHighQualityFlatCoordinates.length);
|
||||
flatCoordinates, 0, flatCoordinates.length, 2, 25, dest, 0)).
|
||||
to.be(simplifiedHighQualityFlatCoordinates.length);
|
||||
expect(dest).to.eql(simplifiedHighQualityFlatCoordinates);
|
||||
});
|
||||
|
||||
@@ -290,63 +290,63 @@ describe('ol.geom.flat.simplify', function() {
|
||||
describe('ol.geom.flat.simplify.quantize', function() {
|
||||
|
||||
it('handles empty coordinates', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[], 0, 0, 2, 2, simplifiedFlatCoordinates, 0)).to.be(0);
|
||||
[], 0, 0, 2, 2, simplifiedFlatCoordinates, 0)).to.be(0);
|
||||
expect(simplifiedFlatCoordinates).to.be.empty();
|
||||
});
|
||||
|
||||
it('expands points to a zero-length line', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0, 0, 0, 0], 0, 4, 2, 2, simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
[0, 0, 0, 0], 0, 4, 2, 2, simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 0, 0]);
|
||||
});
|
||||
|
||||
it('snaps near-by points to the same value', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0.1, 0, 0, 0.1], 0, 4, 2, 2, simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
[0.1, 0, 0, 0.1], 0, 4, 2, 2, simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 0, 0]);
|
||||
});
|
||||
|
||||
it('eliminates duplicate snapped points', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0.1, 0, 2, 0, 2.1, 0, 2, 0.1, 1.9, 0, 2, -0.1], 0, 12, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
[0.1, 0, 2, 0, 2.1, 0, 2, 0.1, 1.9, 0, 2, -0.1], 0, 12, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 2, 0]);
|
||||
});
|
||||
|
||||
it('eliminates horizontal colinear points', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0, 0, 2, 0, 4, 0, 6, 0], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
[0, 0, 2, 0, 4, 0, 6, 0], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 6, 0]);
|
||||
});
|
||||
|
||||
it('eliminates vertical colinear points', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0, 0, 0, -2, 0, -4, 0, -6], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
[0, 0, 0, -2, 0, -4, 0, -6], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 0, -6]);
|
||||
});
|
||||
|
||||
it('eliminates diagonal colinear points', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0, 0, 2, -2, 4, -4, 6, -6], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
[0, 0, 2, -2, 4, -4, 6, -6], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(4);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 6, -6]);
|
||||
});
|
||||
|
||||
it('handles switchbacks', function() {
|
||||
var simplifiedFlatCoordinates = [];
|
||||
const simplifiedFlatCoordinates = [];
|
||||
expect(_ol_geom_flat_simplify_.quantize(
|
||||
[0, 0, 2, 0, 0, 0, 4, 0], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(8);
|
||||
[0, 0, 2, 0, 0, 0, 4, 0], 0, 8, 2, 2,
|
||||
simplifiedFlatCoordinates, 0)).to.be(8);
|
||||
expect(simplifiedFlatCoordinates).to.eql([0, 0, 2, 0, 0, 0, 4, 0]);
|
||||
});
|
||||
|
||||
|
||||
@@ -6,48 +6,48 @@ describe('ol.geom.flat.straightchunk', function() {
|
||||
describe('ol.geom.flat.straightchunk.lineString', function() {
|
||||
|
||||
describe('single segment with stride == 3', function() {
|
||||
var flatCoords = [0, 0, 42, 1, 1, 42];
|
||||
var stride = 3;
|
||||
const flatCoords = [0, 0, 42, 1, 1, 42];
|
||||
const stride = 3;
|
||||
|
||||
it('returns whole line with angle delta', function() {
|
||||
var got = _ol_geom_flat_straightchunk_.lineString(Math.PI / 4, flatCoords, 0, 6, stride);
|
||||
const got = _ol_geom_flat_straightchunk_.lineString(Math.PI / 4, flatCoords, 0, 6, stride);
|
||||
expect(got).to.eql([0, 6]);
|
||||
});
|
||||
|
||||
it('returns whole line with zero angle delta', function() {
|
||||
var got = _ol_geom_flat_straightchunk_.lineString(0, flatCoords, 0, 6, stride);
|
||||
const got = _ol_geom_flat_straightchunk_.lineString(0, flatCoords, 0, 6, stride);
|
||||
expect(got).to.eql([0, 6]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('short line string', function() {
|
||||
var flatCoords = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
var stride = 2;
|
||||
const flatCoords = [0, 0, 1, 0, 1, 1, 0, 1];
|
||||
const stride = 2;
|
||||
|
||||
it('returns whole line if straight enough', function() {
|
||||
var got = _ol_geom_flat_straightchunk_.lineString(Math.PI, flatCoords, 0, 8, stride);
|
||||
const got = _ol_geom_flat_straightchunk_.lineString(Math.PI, flatCoords, 0, 8, stride);
|
||||
expect(got).to.eql([0, 8]);
|
||||
});
|
||||
|
||||
it('returns first matching chunk if all chunk lengths are the same', function() {
|
||||
var got = _ol_geom_flat_straightchunk_.lineString(Math.PI / 4, flatCoords, 0, 8, stride);
|
||||
const got = _ol_geom_flat_straightchunk_.lineString(Math.PI / 4, flatCoords, 0, 8, stride);
|
||||
expect(got).to.eql([0, 4]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('longer line string', function() {
|
||||
var flatCoords = [0, 0, 1, 0, 1, 1, 0, 1, 0, -1, -1, -1, -1, 0, -1, 2, -2, 4];
|
||||
var stride = 2;
|
||||
const flatCoords = [0, 0, 1, 0, 1, 1, 0, 1, 0, -1, -1, -1, -1, 0, -1, 2, -2, 4];
|
||||
const stride = 2;
|
||||
|
||||
it('returns stright chunk from within the linestring', function() {
|
||||
var got = _ol_geom_flat_straightchunk_.lineString(0, flatCoords, 0, 18, stride);
|
||||
const got = _ol_geom_flat_straightchunk_.lineString(0, flatCoords, 0, 18, stride);
|
||||
expect(got).to.eql([10, 16]);
|
||||
});
|
||||
|
||||
it('returns long chunk at the end if angle and length within threshold', function() {
|
||||
var got = _ol_geom_flat_straightchunk_.lineString(Math.PI / 4, flatCoords, 0, 18, stride);
|
||||
const got = _ol_geom_flat_straightchunk_.lineString(Math.PI / 4, flatCoords, 0, 18, stride);
|
||||
expect(got).to.eql([10, 18]);
|
||||
});
|
||||
|
||||
|
||||
@@ -3,74 +3,74 @@ import _ol_geom_flat_length_ from '../../../../../src/ol/geom/flat/length.js';
|
||||
|
||||
describe('textpath', function() {
|
||||
|
||||
var horizontal = [0, 0, 100, 0];
|
||||
var vertical = [0, 0, 0, 100];
|
||||
var diagonal = [0, 0, 100, 100];
|
||||
var reverse = [100, 0, 0, 100];
|
||||
var angled = [0, 0, 100, 100, 200, 0];
|
||||
var reverseangled = [151, 17, 163, 22, 159, 30, 150, 30, 143, 24, 151, 17];
|
||||
const horizontal = [0, 0, 100, 0];
|
||||
const vertical = [0, 0, 0, 100];
|
||||
const diagonal = [0, 0, 100, 100];
|
||||
const reverse = [100, 0, 0, 100];
|
||||
const angled = [0, 0, 100, 100, 200, 0];
|
||||
const reverseangled = [151, 17, 163, 22, 159, 30, 150, 30, 143, 24, 151, 17];
|
||||
|
||||
function measure(text) {
|
||||
return 10 * text.length;
|
||||
}
|
||||
|
||||
it('center-aligns text on a horizontal line', function() {
|
||||
var startM = 50 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo', measure, startM, Infinity);
|
||||
const startM = 50 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions).to.eql([[40, 0, 5, 0, 'foo']]);
|
||||
});
|
||||
|
||||
it('left-aligns text on a horizontal line', function() {
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo', measure, 0, Infinity);
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo', measure, 0, Infinity);
|
||||
expect(instructions).to.eql([[5, 0, 5, 0, 'foo']]);
|
||||
});
|
||||
|
||||
it('right-aligns text on a horizontal line', function() {
|
||||
var startM = 100 - 30;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo', measure, startM, Infinity);
|
||||
const startM = 100 - 30;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions).to.eql([[75, 0, 5, 0, 'foo']]);
|
||||
});
|
||||
|
||||
it('draws text on a vertical line', function() {
|
||||
var startM = 50 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
vertical, 0, vertical.length, 2, 'foo', measure, startM, Infinity);
|
||||
var a = 90 * Math.PI / 180;
|
||||
const startM = 50 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
vertical, 0, vertical.length, 2, 'foo', measure, startM, Infinity);
|
||||
const a = 90 * Math.PI / 180;
|
||||
expect(instructions).to.eql([[0, 40, 5, a, 'foo']]);
|
||||
});
|
||||
|
||||
it('draws text on a diagonal line', function() {
|
||||
var startM = Math.sqrt(2) * 50 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
diagonal, 0, diagonal.length, 2, 'foo', measure, startM, Infinity);
|
||||
const startM = Math.sqrt(2) * 50 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
diagonal, 0, diagonal.length, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions[0][3]).to.be(45 * Math.PI / 180);
|
||||
expect(instructions.length).to.be(1);
|
||||
});
|
||||
|
||||
it('draws reverse text on a diagonal line', function() {
|
||||
var startM = Math.sqrt(2) * 50 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
reverse, 0, reverse.length, 2, 'foo', measure, startM, Infinity);
|
||||
const startM = Math.sqrt(2) * 50 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
reverse, 0, reverse.length, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions[0][3]).to.be(-45 * Math.PI / 180);
|
||||
expect(instructions.length).to.be(1);
|
||||
});
|
||||
|
||||
it('renders long text with extrapolation', function() {
|
||||
var startM = 50 - 75;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo-foo-foo-foo', measure, startM, Infinity);
|
||||
const startM = 50 - 75;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
horizontal, 0, horizontal.length, 2, 'foo-foo-foo-foo', measure, startM, Infinity);
|
||||
expect(instructions[0]).to.eql([-20, 0, 5, 0, 'foo-foo-foo-foo']);
|
||||
expect(instructions.length).to.be(1);
|
||||
});
|
||||
|
||||
it('renders angled text', function() {
|
||||
var length = _ol_geom_flat_length_.lineString(angled, 0, angled.length, 2);
|
||||
var startM = length / 2 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 0, angled.length, 2, 'foo', measure, startM, Infinity);
|
||||
const length = _ol_geom_flat_length_.lineString(angled, 0, angled.length, 2);
|
||||
const startM = length / 2 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 0, angled.length, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions[0][3]).to.eql(45 * Math.PI / 180);
|
||||
expect(instructions[0][4]).to.be('fo');
|
||||
expect(instructions[1][3]).to.eql(-45 * Math.PI / 180);
|
||||
@@ -78,35 +78,35 @@ describe('textpath', function() {
|
||||
});
|
||||
|
||||
it('respects maxAngle', function() {
|
||||
var length = _ol_geom_flat_length_.lineString(angled, 0, angled.length, 2);
|
||||
var startM = length / 2 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 0, angled.length, 2, 'foo', measure, startM, Math.PI / 4);
|
||||
const length = _ol_geom_flat_length_.lineString(angled, 0, angled.length, 2);
|
||||
const startM = length / 2 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 0, angled.length, 2, 'foo', measure, startM, Math.PI / 4);
|
||||
expect(instructions).to.be(null);
|
||||
});
|
||||
|
||||
it('uses the smallest angle for maxAngleDelta', function() {
|
||||
var length = _ol_geom_flat_length_.lineString(reverseangled, 0, reverseangled.length, 2);
|
||||
var startM = length / 2 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
reverseangled, 0, reverseangled.length, 2, 'foo', measure, startM, Math.PI);
|
||||
const length = _ol_geom_flat_length_.lineString(reverseangled, 0, reverseangled.length, 2);
|
||||
const startM = length / 2 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
reverseangled, 0, reverseangled.length, 2, 'foo', measure, startM, Math.PI);
|
||||
expect(instructions).to.not.be(undefined);
|
||||
});
|
||||
|
||||
it('respects the offset option', function() {
|
||||
var length = _ol_geom_flat_length_.lineString(angled, 2, angled.length, 2);
|
||||
var startM = length / 2 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 2, angled.length, 2, 'foo', measure, startM, Infinity);
|
||||
const length = _ol_geom_flat_length_.lineString(angled, 2, angled.length, 2);
|
||||
const startM = length / 2 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 2, angled.length, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions[0][3]).to.be(-45 * Math.PI / 180);
|
||||
expect(instructions.length).to.be(1);
|
||||
});
|
||||
|
||||
it('respects the end option', function() {
|
||||
var length = _ol_geom_flat_length_.lineString(angled, 0, 4, 2);
|
||||
var startM = length / 2 - 15;
|
||||
var instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 0, 4, 2, 'foo', measure, startM, Infinity);
|
||||
const length = _ol_geom_flat_length_.lineString(angled, 0, 4, 2);
|
||||
const startM = length / 2 - 15;
|
||||
const instructions = _ol_geom_flat_textpath_.lineString(
|
||||
angled, 0, 4, 2, 'foo', measure, startM, Infinity);
|
||||
expect(instructions[0][3]).to.be(45 * Math.PI / 180);
|
||||
expect(instructions.length).to.be(1);
|
||||
});
|
||||
|
||||
@@ -5,20 +5,20 @@ describe('ol.geom.flat.topology', function() {
|
||||
describe('ol.geom.flat.topology.lineStringIsClosed', function() {
|
||||
|
||||
it('identifies closed lines aka boundaries', function() {
|
||||
var flatCoordinates = [0, 0, 3, 0, 0, 3, 0, 0];
|
||||
var isClosed = _ol_geom_flat_topology_.lineStringIsClosed(flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
const flatCoordinates = [0, 0, 3, 0, 0, 3, 0, 0];
|
||||
const isClosed = _ol_geom_flat_topology_.lineStringIsClosed(flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(isClosed).to.be(true);
|
||||
});
|
||||
|
||||
it('identifies regular linestrings', function() {
|
||||
var flatCoordinates = [0, 0, 3, 0, 0, 3, 5, 2];
|
||||
var isClosed = _ol_geom_flat_topology_.lineStringIsClosed(flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
const flatCoordinates = [0, 0, 3, 0, 0, 3, 5, 2];
|
||||
const isClosed = _ol_geom_flat_topology_.lineStringIsClosed(flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(isClosed).to.be(false);
|
||||
});
|
||||
|
||||
it('identifies degenerate boundaries', function() {
|
||||
var flatCoordinates = [0, 0, 3, 0, 0, 0];
|
||||
var isClosed = _ol_geom_flat_topology_.lineStringIsClosed(flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
let flatCoordinates = [0, 0, 3, 0, 0, 0];
|
||||
let isClosed = _ol_geom_flat_topology_.lineStringIsClosed(flatCoordinates, 0, flatCoordinates.length, 2);
|
||||
expect(isClosed).to.be(false);
|
||||
|
||||
flatCoordinates = [0, 0, 1, 1, 3, 3, 5, 5, 0, 0];
|
||||
|
||||
@@ -9,7 +9,7 @@ describe('ol.geom.flat.transform', function() {
|
||||
|
||||
it('transforms a Simple Geometry to 2D', function() {
|
||||
|
||||
var multiPolygonGeometry = new MultiPolygon([
|
||||
const multiPolygonGeometry = new MultiPolygon([
|
||||
[[[-80.736061, 28.788576000000006, 0],
|
||||
[-80.763557, 28.821799999999996, 0],
|
||||
[-80.817406, 28.895123999999996, 0],
|
||||
@@ -26,13 +26,13 @@ describe('ol.geom.flat.transform', function() {
|
||||
[-82.128838, 26.693342, 0],
|
||||
[-82.102127, 26.585724, 0]]]
|
||||
]).transform('EPSG:4326', 'EPSG:3857');
|
||||
var transform = [
|
||||
const transform = [
|
||||
0.0004088332670837288, 0,
|
||||
0, -0.0004088332670837288,
|
||||
4480.991370439071, 1529.5752568707105
|
||||
];
|
||||
var pixelCoordinates = SimpleGeometry.transform2D(
|
||||
multiPolygonGeometry, transform, []);
|
||||
const pixelCoordinates = SimpleGeometry.transform2D(
|
||||
multiPolygonGeometry, transform, []);
|
||||
expect(pixelCoordinates[0]).to.roughlyEqual(806.6035275946265, 1e-9);
|
||||
expect(pixelCoordinates[1]).to.roughlyEqual(160.48916296287916, 1e-9);
|
||||
expect(pixelCoordinates[2]).to.roughlyEqual(805.3521540835154, 1e-9);
|
||||
@@ -69,15 +69,15 @@ describe('ol.geom.flat.transform', function() {
|
||||
|
||||
describe('ol.geom.flat.transform.translate', function() {
|
||||
it('translates the coordinates array', function() {
|
||||
var multiPolygon = new MultiPolygon([
|
||||
const multiPolygon = new MultiPolygon([
|
||||
[[[0, 0, 2], [0, 1, 2], [1, 1, 2], [1, 0, 2], [0, 0, 2]]],
|
||||
[[[2, 2, 3], [2, 3, 3], [3, 3, 3], [3, 2, 3], [2, 2, 3]]]]);
|
||||
var flatCoordinates = multiPolygon.getFlatCoordinates();
|
||||
var deltaX = 1;
|
||||
var deltaY = 2;
|
||||
const flatCoordinates = multiPolygon.getFlatCoordinates();
|
||||
const deltaX = 1;
|
||||
const deltaY = 2;
|
||||
_ol_geom_flat_transform_.translate(flatCoordinates, 0,
|
||||
flatCoordinates.length, multiPolygon.getStride(),
|
||||
deltaX, deltaY, flatCoordinates);
|
||||
flatCoordinates.length, multiPolygon.getStride(),
|
||||
deltaX, deltaY, flatCoordinates);
|
||||
expect(flatCoordinates).to.eql([
|
||||
1, 2, 2, 1, 3, 2, 2, 3, 2, 2, 2, 2, 1, 2, 2,
|
||||
3, 4, 3, 3, 5, 3, 4, 5, 3, 4, 4, 3, 3, 4, 3]);
|
||||
@@ -86,15 +86,15 @@ describe('ol.geom.flat.transform', function() {
|
||||
|
||||
describe('ol.geom.flat.transform.rotate', function() {
|
||||
it('rotates the coordinates array', function() {
|
||||
var multiPolygon = new MultiPolygon([
|
||||
const multiPolygon = new MultiPolygon([
|
||||
[[[0, 0, 2], [0, 1, 2], [1, 1, 2], [1, 0, 2], [0, 0, 2]]],
|
||||
[[[2, 2, 3], [2, 3, 3], [3, 3, 3], [3, 2, 3], [2, 2, 3]]]]);
|
||||
var flatCoordinates = multiPolygon.getFlatCoordinates();
|
||||
var angle = Math.PI / 2;
|
||||
var anchor = [0, 1];
|
||||
const flatCoordinates = multiPolygon.getFlatCoordinates();
|
||||
const angle = Math.PI / 2;
|
||||
const anchor = [0, 1];
|
||||
_ol_geom_flat_transform_.rotate(flatCoordinates, 0,
|
||||
flatCoordinates.length, multiPolygon.getStride(),
|
||||
angle, anchor, flatCoordinates);
|
||||
flatCoordinates.length, multiPolygon.getStride(),
|
||||
angle, anchor, flatCoordinates);
|
||||
expect(flatCoordinates[0]).to.roughlyEqual(1, 1e-9);
|
||||
expect(flatCoordinates[1]).to.roughlyEqual(1, 1e-9);
|
||||
expect(flatCoordinates[2]).to.roughlyEqual(2, 1e-9);
|
||||
|
||||
Reference in New Issue
Block a user