mirror of
https://github.com/liabru/matter-js.git
synced 2025-01-12 16:08:50 -05:00
Merge branch 'master' into angle-constraints
* master: added version targets for examples added support for example versioning in tests add support for > and >= operators in plugin version ranges
This commit is contained in:
commit
85be083180
46 changed files with 225 additions and 117 deletions
|
@ -80,6 +80,8 @@ Example.airFriction = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.airFriction.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.airFriction;
|
||||||
}
|
}
|
|
@ -91,6 +91,8 @@ Example.avalanche = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.avalanche.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.avalanche;
|
||||||
}
|
}
|
|
@ -99,6 +99,8 @@ Example.ballPool = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.ballPool.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.ballPool;
|
||||||
}
|
}
|
|
@ -124,6 +124,8 @@ Example.bridge = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.bridge.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.bridge;
|
||||||
}
|
}
|
|
@ -95,6 +95,8 @@ Example.broadphase = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.broadphase.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.broadphase;
|
||||||
}
|
}
|
|
@ -89,6 +89,8 @@ Example.car = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.car.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.car;
|
||||||
}
|
}
|
|
@ -96,6 +96,8 @@ Example.catapult = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.catapult.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.catapult;
|
||||||
}
|
}
|
|
@ -122,6 +122,8 @@ Example.chains = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.chains.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.chains;
|
||||||
}
|
}
|
|
@ -81,6 +81,8 @@ Example.circleStack = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.circleStack.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.circleStack;
|
||||||
}
|
}
|
|
@ -84,6 +84,8 @@ Example.cloth = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.cloth.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.cloth;
|
||||||
}
|
}
|
|
@ -154,6 +154,8 @@ Example.collisionFiltering = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.collisionFiltering.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.collisionFiltering;
|
||||||
}
|
}
|
|
@ -107,6 +107,8 @@ Example.compositeManipulation = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.compositeManipulation.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.compositeManipulation;
|
||||||
}
|
}
|
|
@ -106,6 +106,8 @@ Example.compound = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.compound.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.compound;
|
||||||
}
|
}
|
|
@ -89,6 +89,8 @@ Example.compoundStack = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.compoundStack.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.compoundStack;
|
||||||
}
|
}
|
|
@ -95,6 +95,8 @@ Example.concave = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.concave.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.concave;
|
||||||
}
|
}
|
|
@ -179,6 +179,8 @@ Example.constraints = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.constraints.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.constraints;
|
||||||
}
|
}
|
|
@ -148,6 +148,8 @@ Example.doublePendulum = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.doublePendulum.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.doublePendulum;
|
||||||
}
|
}
|
|
@ -178,6 +178,8 @@ Example.events = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.events.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.events;
|
||||||
}
|
}
|
|
@ -90,6 +90,8 @@ Example.friction = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.friction.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.friction;
|
||||||
}
|
}
|
|
@ -96,6 +96,8 @@ Example.gravity = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.gravity.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.gravity;
|
||||||
}
|
}
|
|
@ -130,6 +130,8 @@ Example.gyro = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.gyro.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.gyro;
|
||||||
}
|
}
|
|
@ -140,6 +140,8 @@ Example.manipulation = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.manipulation.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.manipulation;
|
||||||
}
|
}
|
|
@ -105,6 +105,8 @@ Example.mixed = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.mixed.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.mixed;
|
||||||
}
|
}
|
|
@ -76,6 +76,8 @@ Example.newtonsCradle = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.newtonsCradle.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.newtonsCradle;
|
||||||
}
|
}
|
|
@ -81,6 +81,8 @@ Example.pyramid = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.pyramid.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.pyramid;
|
||||||
}
|
}
|
|
@ -498,6 +498,8 @@ Example.ragdoll.ragdoll = function(x, y, scale, options) {
|
||||||
return person;
|
return person;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.ragdoll.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.ragdoll;
|
||||||
}
|
}
|
|
@ -135,6 +135,8 @@ Example.raycasting = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.raycasting.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.raycasting;
|
||||||
}
|
}
|
|
@ -85,6 +85,8 @@ Example.restitution = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.restitution.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.restitution;
|
||||||
}
|
}
|
|
@ -109,6 +109,8 @@ Example.rounded = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.rounded.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.rounded;
|
||||||
}
|
}
|
|
@ -130,6 +130,8 @@ Example.sensors = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.sensors.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.sensors;
|
||||||
}
|
}
|
|
@ -104,6 +104,8 @@ Example.sleeping = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.sleeping.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.sleeping;
|
||||||
}
|
}
|
|
@ -100,6 +100,8 @@ Example.slingshot = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.slingshot.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.slingshot;
|
||||||
}
|
}
|
|
@ -85,6 +85,8 @@ Example.softBody = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.softBody.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.softBody;
|
||||||
}
|
}
|
|
@ -112,6 +112,8 @@ Example.sprites = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.sprites.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.sprites;
|
||||||
}
|
}
|
|
@ -81,6 +81,8 @@ Example.stack = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.stack.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.stack;
|
||||||
}
|
}
|
|
@ -106,6 +106,8 @@ Example.staticFriction = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.staticFriction.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.staticFriction;
|
||||||
}
|
}
|
|
@ -79,6 +79,8 @@ Example.stress = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.stress.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.stress;
|
||||||
}
|
}
|
|
@ -79,6 +79,8 @@ Example.stress2 = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.stress2.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.stress2;
|
||||||
}
|
}
|
|
@ -124,6 +124,8 @@ Example.svg = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.svg.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.svg;
|
||||||
}
|
}
|
|
@ -105,6 +105,8 @@ Example.terrain = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.terrain.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.terrain;
|
||||||
}
|
}
|
|
@ -151,6 +151,8 @@ Example.timescale = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.timescale.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.timescale;
|
||||||
}
|
}
|
|
@ -182,6 +182,8 @@ Example.views = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.views.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.views;
|
||||||
}
|
}
|
|
@ -93,6 +93,8 @@ Example.wreckingBall = function() {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Example.wreckingBall.for = '>=0.14.2';
|
||||||
|
|
||||||
if (typeof module !== 'undefined') {
|
if (typeof module !== 'undefined') {
|
||||||
module.exports = Example[Object.keys(Example)[0]];
|
module.exports = Example.wreckingBall;
|
||||||
}
|
}
|
|
@ -266,6 +266,8 @@ var Common = require('./Common');
|
||||||
* Only the following range types are supported:
|
* Only the following range types are supported:
|
||||||
* - Tilde ranges e.g. `~1.2.3`
|
* - Tilde ranges e.g. `~1.2.3`
|
||||||
* - Caret ranges e.g. `^1.2.3`
|
* - Caret ranges e.g. `^1.2.3`
|
||||||
|
* - Greater than ranges e.g. `>1.2.3`
|
||||||
|
* - Greater than or equal ranges e.g. `>=1.2.3`
|
||||||
* - Exact version e.g. `1.2.3`
|
* - Exact version e.g. `1.2.3`
|
||||||
* - Any version `*`
|
* - Any version `*`
|
||||||
* @method versionParse
|
* @method versionParse
|
||||||
|
@ -273,29 +275,28 @@ var Common = require('./Common');
|
||||||
* @return {object} The version range parsed into its components.
|
* @return {object} The version range parsed into its components.
|
||||||
*/
|
*/
|
||||||
Plugin.versionParse = function(range) {
|
Plugin.versionParse = function(range) {
|
||||||
var pattern = /^\*|[\^~]?\d+\.\d+\.\d+(-[0-9A-Za-z-]+)?$/;
|
var pattern = /^(\*)|(\^|~|>=|>)?\s*((\d+)\.(\d+)\.(\d+))(-[0-9A-Za-z-]+)?$/;
|
||||||
|
|
||||||
if (!pattern.test(range)) {
|
if (!pattern.test(range)) {
|
||||||
Common.warn('Plugin.versionParse:', range, 'is not a valid version or range.');
|
Common.warn('Plugin.versionParse:', range, 'is not a valid version or range.');
|
||||||
}
|
}
|
||||||
|
|
||||||
var identifiers = range.split('-');
|
var parts = pattern.exec(range);
|
||||||
range = identifiers[0];
|
var major = Number(parts[4]);
|
||||||
|
var minor = Number(parts[5]);
|
||||||
var isRange = isNaN(Number(range[0])),
|
var patch = Number(parts[6]);
|
||||||
version = isRange ? range.substr(1) : range,
|
|
||||||
parts = Common.map(version.split('.'), function(part) {
|
|
||||||
return Number(part);
|
|
||||||
});
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isRange: isRange,
|
isRange: Boolean(parts[1] || parts[2]),
|
||||||
version: version,
|
version: parts[3],
|
||||||
range: range,
|
range: range,
|
||||||
operator: isRange ? range[0] : '',
|
operator: parts[1] || parts[2] || '',
|
||||||
parts: parts,
|
major: major,
|
||||||
prerelease: identifiers[1],
|
minor: minor,
|
||||||
number: parts[0] * 1e8 + parts[1] * 1e4 + parts[2]
|
patch: patch,
|
||||||
|
parts: [major, minor, patch],
|
||||||
|
prerelease: parts[7],
|
||||||
|
number: major * 1e8 + minor * 1e4 + patch
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -311,30 +312,36 @@ var Common = require('./Common');
|
||||||
Plugin.versionSatisfies = function(version, range) {
|
Plugin.versionSatisfies = function(version, range) {
|
||||||
range = range || '*';
|
range = range || '*';
|
||||||
|
|
||||||
var rangeParsed = Plugin.versionParse(range),
|
var r = Plugin.versionParse(range),
|
||||||
rangeParts = rangeParsed.parts,
|
v = Plugin.versionParse(version);
|
||||||
versionParsed = Plugin.versionParse(version),
|
|
||||||
versionParts = versionParsed.parts;
|
|
||||||
|
|
||||||
if (rangeParsed.isRange) {
|
if (r.isRange) {
|
||||||
if (rangeParsed.operator === '*' || version === '*') {
|
if (r.operator === '*' || version === '*') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rangeParsed.operator === '~') {
|
if (r.operator === '>') {
|
||||||
return versionParts[0] === rangeParts[0] && versionParts[1] === rangeParts[1] && versionParts[2] >= rangeParts[2];
|
return v.number > r.number;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rangeParsed.operator === '^') {
|
if (r.operator === '>=') {
|
||||||
if (rangeParts[0] > 0) {
|
return v.number >= r.number;
|
||||||
return versionParts[0] === rangeParts[0] && versionParsed.number >= rangeParsed.number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rangeParts[1] > 0) {
|
if (r.operator === '~') {
|
||||||
return versionParts[1] === rangeParts[1] && versionParts[2] >= rangeParts[2];
|
return v.major === r.major && v.minor === r.minor && v.patch >= r.patch;
|
||||||
}
|
}
|
||||||
|
|
||||||
return versionParts[2] === rangeParts[2];
|
if (r.operator === '^') {
|
||||||
|
if (r.major > 0) {
|
||||||
|
return v.major === r.major && v.number >= r.number;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r.minor > 0) {
|
||||||
|
return v.minor === r.minor && v.patch >= r.patch;
|
||||||
|
}
|
||||||
|
|
||||||
|
return v.patch === r.patch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,16 @@ jest.setTimeout(120 * 1000);
|
||||||
|
|
||||||
const puppeteer = require('puppeteer-core');
|
const puppeteer = require('puppeteer-core');
|
||||||
const Example = require('../examples/index');
|
const Example = require('../examples/index');
|
||||||
|
const MatterBuild = require('../build/matter');
|
||||||
|
const { versionSatisfies } = require('../src/core/Plugin');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
const examples = Object.keys(Example);
|
const examples = Object.keys(Example).filter(key => {
|
||||||
|
const buildVersion = MatterBuild.version;
|
||||||
|
const exampleFor = Example[key].for;
|
||||||
|
return versionSatisfies(buildVersion, exampleFor);
|
||||||
|
});
|
||||||
|
|
||||||
const browserPath = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome';
|
const browserPath = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome';
|
||||||
const demoPagePath = 'http://localhost:8000/';
|
const demoPagePath = 'http://localhost:8000/';
|
||||||
const totalUpdates = 5;
|
const totalUpdates = 5;
|
||||||
|
|
|
@ -7,13 +7,21 @@ const { comparisonReport, toMatchExtrinsics, toMatchIntrinsics } = require('./Te
|
||||||
|
|
||||||
const Example = require('../examples/index');
|
const Example = require('../examples/index');
|
||||||
const MatterBuild = require('../build/matter');
|
const MatterBuild = require('../build/matter');
|
||||||
|
const { versionSatisfies } = require('../src/core/Plugin');
|
||||||
const Worker = require('jest-worker').default;
|
const Worker = require('jest-worker').default;
|
||||||
|
|
||||||
const testComparison = process.env.COMPARE === 'true';
|
const testComparison = process.env.COMPARE === 'true';
|
||||||
const saveComparison = process.env.SAVE === 'true';
|
const saveComparison = process.env.SAVE === 'true';
|
||||||
const excludeExamples = ['svg', 'terrain'];
|
const excludeExamples = ['svg', 'terrain'];
|
||||||
const excludeJitter = ['stack', 'circleStack', 'restitution', 'staticFriction', 'friction', 'newtonsCradle', 'catapult'];
|
const excludeJitter = ['stack', 'circleStack', 'restitution', 'staticFriction', 'friction', 'newtonsCradle', 'catapult'];
|
||||||
const examples = Object.keys(Example).filter(key => !excludeExamples.includes(key));
|
|
||||||
|
const examples = Object.keys(Example).filter(key => {
|
||||||
|
const excluded = excludeExamples.includes(key);
|
||||||
|
const buildVersion = MatterBuild.version;
|
||||||
|
const exampleFor = Example[key].for;
|
||||||
|
const supported = versionSatisfies(buildVersion, exampleFor);
|
||||||
|
return !excluded && supported;
|
||||||
|
});
|
||||||
|
|
||||||
const runExamples = async useDev => {
|
const runExamples = async useDev => {
|
||||||
const worker = new Worker(require.resolve('./ExampleWorker'), {
|
const worker = new Worker(require.resolve('./ExampleWorker'), {
|
||||||
|
|
Loading…
Reference in a new issue