Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
chai-geojson
Advanced tools
This plugin extends existing chaijs APIs and introduces new ones for testing GeoJSON elegantly. It provides brief syntax for:
npm install chai-geojson --save-dev
const chai = require('chai');
chai.use(require('chai-geojson'));
const expect = chai.expect;
const assert = chai.assert;
const should = chai.should();
/**
* Do your tests with the following APIs.
*/
See test cases for complete use examples.
.a(type)
The a
assertion can be used to assert a GeoJSON object’s type and its geometry coordinates if there is any. Noted this doesn't recursively iterate each features in a FeatureCollection or assert the geometry in a Feature.
Supported types:
expect(geojson).to.be.a('FeatureCollection');
expect(geojson).to.be.a('Feature');
expect(geojson).not.to.be.a('Point');
geojson.should.be.a('FeatureCollection');
geojson.should.not.be.a('Feature');
Sets the geomLength
flag later used as a chain precursor to a value comparison for the geographic length.
expect(geojson).to.have.length.above(2);
.lengthOf(value[, precision])
@param {Number} value expected length value in meters
@param {Number} [precision=0] difference tolerance in percentage of the geographic length
Asserts that the length of LineString feature/geometry has the expected value.
expect(geojson).to.have.lengthOf(250, 0.01);
expect(geojson).not.to.have.lengthOf(250);
Sets the geomArea
flag later used as a chain precursor to a value comparison for the geographic area.
expect(geojson).to.have.area.below(2000);
.areaOf(value[, precision])
@param {Number} value expected area value in square meters
@param {Number} [precision=0] difference tolerance in percentage of the geographic area
Asserts that the area of polygon feature/geometry has the expected value.
expect(geojson).to.have.areaOf(250, 0.05);
.equal(value[, precision])
@param {Number} value expected value in meters for length or in square meters for square meters
@param {Number} [precision=0] difference tolerance in percentage of the expected value
The equal
assertion can be used to assert whether the length or area of a geojson feature/geometry is equal to the expected value.
expect(geojson).to.have.area.equal(500);
expect(geojson).to.have.length.equal(250, 0.05);
.above(value)
@param {Number} value expected value in meters for length or in square meters for area
The above
assertion can be used to assert whether the length or area of a geojson feature/geometry is above the given value.
expect(geojson).to.have.area.above(500);
expect(geojson).to.have.length.above(250);
.least(value)
@param {Number} value expected value in meters for length or in square meters for area
The above
assertion can be used to assert whether the length or area of a geojson feature/geometry is at least the given value.
expect(geojson).to.have.area.at.least(500);
expect(geojson).to.have.length.at.least(250);
.most(value)
@param {Number} value expected value in meters for length or in square meters for area
The above
assertion can be used to assert whether the length or area of a geojson feature/geometry is at most the given value.
expect(geojson).to.have.area.at.most(500);
expect(geojson).to.have.length.at.most(250);
.below(value)
@param {Number} value expected value in meters for length or in square meters for area
The above
assertion can be used to assert whether the length or area of a geojson feature/geometry is below the given value.
expect(geojson).to.have.area.below(500);
expect(geojson).to.have.length.below(250);
.within(lower, upper)
@param {Number} lower expected lower bound of input value
@param {Number} upper expected upper bound of input value
The within
assertion can be used to assert whether the length or area of a geojson feature/geometry is within the given range.
expect(geojson).to.have.area.within(500, 800);
expect(geojson).to.have.length.within(250, 300);
.typeOf(type)
Same as .a(type)
in expect / should style.
assert.typeOf(geojson, 'Feature');
.notTypeOf(type)
Same as .not.a(type)
in expect / should style.
assert.notTypeOf(geojson, 'Feature');
MIT
FAQs
Chai plugin for GeoJSON testing
We found that chai-geojson demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.