svgedit/test/qunit/qunit-assert-almostEquals.js

30 lines
750 B
JavaScript

const NEAR_ZERO = 5e-6; // 0.000005, Firefox fails at higher levels of precision.
/**
* Checks that the supplied values are equal with a high though not absolute degree of precision.
* @param {Float} actual
* @param {Float} expected
* @param {string} message
* @returns {void}
*/
function almostEquals (actual, expected, message) {
message = message || (actual + ' did not equal ' + expected);
this.pushResult({
result: Math.abs(actual - expected) < NEAR_ZERO,
actual,
expected,
message
});
}
/**
* @param {external:qunit} QUnit
* @returns {external:qunit} The same instance passed in after extending
*/
export default function extend (QUnit) {
QUnit.extend(QUnit.assert, {
almostEquals
});
return QUnit;
}