tests: add assert helper for supporting node 10.x

pull/4757/head
webzwo0i 2021-02-15 16:14:33 +01:00 committed by Richard Hansen
parent ce83181ac3
commit 14a9749b75
3 changed files with 50 additions and 2 deletions

View File

@ -0,0 +1,48 @@
'use strict';
// support for older node versions (<12)
const assert = require('assert');
const internalMatch = (string, regexp, message, fn) => {
if (!regexp.test) {
throw new Error('regexp parameter is not a RegExp');
}
if (typeof string !== 'string') {
throw new Error('string parameter is not a string');
}
const match = fn.name === 'match';
const result = string.match(regexp);
if (match && !result) {
if (message) {
throw message;
} else {
throw new Error(`${string} does not match regex ${regexp}`);
}
}
if (!match && result) {
if (message) {
throw message;
} else {
throw new Error(`${string} does match regex ${regexp}`);
}
}
};
if (!assert.match) {
const match = (string, regexp, message) => {
internalMatch(string, regexp, message, match);
};
assert.match = match;
}
if (!assert.strict.match) assert.strict.match = assert.match;
if (!assert.doesNotMatch) {
const doesNotMatch = (string, regexp, message) => {
internalMatch(string, regexp, message, doesNotMatch);
};
assert.doesNotMatch = doesNotMatch;
}
if (!assert.strict.doesNotMatch) assert.strict.doesNotMatch = assert.doesNotMatch;
module.exports = assert;

View File

@ -7,7 +7,7 @@
*/ */
const common = require('../common'); const common = require('../common');
const assert = require('assert').strict; const assert = require('../assert-legacy').strict;
const queryString = require('querystring'); const queryString = require('querystring');
const settings = require('../../../node/utils/Settings'); const settings = require('../../../node/utils/Settings');

View File

@ -1,6 +1,6 @@
'use strict'; 'use strict';
const assert = require('assert').strict; const assert = require('../assert-legacy').strict;
const hooks = require('../../../static/js/pluginfw/hooks'); const hooks = require('../../../static/js/pluginfw/hooks');
const plugins = require('../../../static/js/pluginfw/plugin_defs'); const plugins = require('../../../static/js/pluginfw/plugin_defs');
const sinon = require('sinon'); const sinon = require('sinon');