Added testing via Mocha
This commit is contained in:
4
.mocharc.json
Normal file
4
.mocharc.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"recursive": true,
|
||||||
|
"require": "esm"
|
||||||
|
}
|
||||||
1211
package-lock.json
generated
1211
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,8 @@
|
|||||||
"build-test": "run-s pack-dev",
|
"build-test": "run-s pack-dev",
|
||||||
"pack-prod": "webpack --env production",
|
"pack-prod": "webpack --env production",
|
||||||
"pack-dev": "webpack",
|
"pack-dev": "webpack",
|
||||||
"remove-comment": "sed -i '' -e '/\\/\\/# sourceMappingURL.*/d' dist/CookieMonster.js"
|
"remove-comment": "sed -i '' -e '/\\/\\/# sourceMappingURL.*/d' dist/CookieMonster.js",
|
||||||
|
"test": "mocha"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -46,13 +47,17 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@typescript-eslint/eslint-plugin": "^4.21.0",
|
"@typescript-eslint/eslint-plugin": "^4.21.0",
|
||||||
"@typescript-eslint/parser": "^4.21.0",
|
"@typescript-eslint/parser": "^4.21.0",
|
||||||
|
"chai": "^4.3.4",
|
||||||
"eslint": "^7.23.0",
|
"eslint": "^7.23.0",
|
||||||
"eslint-config-airbnb-base": "^14.2.1",
|
"eslint-config-airbnb-base": "^14.2.1",
|
||||||
"eslint-config-prettier": "^8.1.0",
|
"eslint-config-prettier": "^8.1.0",
|
||||||
"eslint-plugin-import": "^2.22.1",
|
"eslint-plugin-import": "^2.22.1",
|
||||||
"eslint-plugin-prettier": "^3.3.1",
|
"eslint-plugin-prettier": "^3.3.1",
|
||||||
|
"esm": "^3.2.25",
|
||||||
|
"mocha": "^8.3.2",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"prettier": "2.2.1",
|
"prettier": "2.2.1",
|
||||||
|
"sinon": "^10.0.0",
|
||||||
"ts-loader": "^8.1.0",
|
"ts-loader": "^8.1.0",
|
||||||
"typescript": "^4.2.3",
|
"typescript": "^4.2.3",
|
||||||
"webpack": "^5.24.4",
|
"webpack": "^5.24.4",
|
||||||
|
|||||||
@@ -1,11 +1,106 @@
|
|||||||
/* global describe, it */
|
import { before, describe, it } from 'mocha';
|
||||||
const { assert } = require('../../node_modules/chai/chai');
|
import { assert } from 'chai';
|
||||||
const {
|
|
||||||
FormatTime,
|
import FormatTime from '../../src/Disp/BeautifyAndFormatting/FormatTime';
|
||||||
} = require('../../src/Disp/BeautifyAndFormatting/Beautify');
|
import { CMOptions } from '../../src/Config/VariablesAndData';
|
||||||
|
|
||||||
describe('FormatTime', function () {
|
describe('FormatTime', function () {
|
||||||
it('should return -1 when the value is not present', function () {
|
it('Format when time is Infinity', function () {
|
||||||
assert.equal(FormatTime(1, 0), '1 s');
|
assert.equal(FormatTime(Infinity, 0), Infinity);
|
||||||
|
});
|
||||||
|
it('Format when time is negative', function () {
|
||||||
|
assert.equal(FormatTime(-1, 0), 'Negative time period');
|
||||||
|
});
|
||||||
|
describe('TimeFormat = 0', function () {
|
||||||
|
before(function () {
|
||||||
|
CMOptions.TimeFormat = 0;
|
||||||
|
});
|
||||||
|
describe('Longformat = 0', function () {
|
||||||
|
it('Format when time is 0', function () {
|
||||||
|
assert.equal(FormatTime(0, 0), '0s');
|
||||||
|
});
|
||||||
|
it('Format when time is 1 second', function () {
|
||||||
|
assert.equal(FormatTime(1, 0), '1s');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 minute', function () {
|
||||||
|
assert.equal(FormatTime(61, 0), '1m, 1s');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 hour', function () {
|
||||||
|
assert.equal(FormatTime(3601, 0), '1h, 0m, 1s');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 day', function () {
|
||||||
|
assert.equal(FormatTime(86401, 0), '1d, 0h, 0m, 1s');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 year', function () {
|
||||||
|
assert.equal(FormatTime(31536001, 0), '1y, 0d, 0h, 0m, 1s');
|
||||||
|
});
|
||||||
|
it('Format when time is over >9000 days', function () {
|
||||||
|
assert.equal(FormatTime(777600001, 0), '>9000d');
|
||||||
|
});
|
||||||
|
it('Format when time is over >99.9 years', function () {
|
||||||
|
assert.equal(FormatTime(3155760001, 0), '>9000d');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('Longformat = 1', function () {
|
||||||
|
it('Format when time is 0', function () {
|
||||||
|
assert.equal(FormatTime(0, 1), '0 seconds');
|
||||||
|
});
|
||||||
|
it('Format when time is 1 second', function () {
|
||||||
|
assert.equal(FormatTime(1, 1), '1 second');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 minute', function () {
|
||||||
|
assert.equal(FormatTime(61, 1), '1 minute, 1 second');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 hour', function () {
|
||||||
|
assert.equal(FormatTime(3601, 1), '1 hour, 0 minutes, 1 second');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 day', function () {
|
||||||
|
assert.equal(
|
||||||
|
FormatTime(86401, 1),
|
||||||
|
'1 day, 0 hours, 0 minutes, 1 second',
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 year', function () {
|
||||||
|
assert.equal(
|
||||||
|
FormatTime(31536001, 1),
|
||||||
|
'1 year, 0 days, 0 hours, 0 minutes, 1 second',
|
||||||
|
);
|
||||||
|
});
|
||||||
|
it('Format when time is over >9000 days', function () {
|
||||||
|
assert.equal(FormatTime(777600001, 1), 'Over 9000 days!');
|
||||||
|
});
|
||||||
|
it('Format when time is over >99.9 years', function () {
|
||||||
|
assert.equal(FormatTime(3155760001, 1), 'Over 9000 days!');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('TimeFormat = 1', function () {
|
||||||
|
before(function () {
|
||||||
|
CMOptions.TimeFormat = 1;
|
||||||
|
});
|
||||||
|
it('Format when time is 0', function () {
|
||||||
|
assert.equal(FormatTime(0, 0), '00:00:00:00:00');
|
||||||
|
});
|
||||||
|
it('Format when time is 1 second', function () {
|
||||||
|
assert.equal(FormatTime(1, 0), '00:00:00:00:01');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 minute', function () {
|
||||||
|
assert.equal(FormatTime(61, 0), '00:00:00:01:01');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 hour', function () {
|
||||||
|
assert.equal(FormatTime(3601, 0), '00:00:01:00:01');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 day', function () {
|
||||||
|
assert.equal(FormatTime(86401, 0), '00:01:00:00:01');
|
||||||
|
});
|
||||||
|
it('Format when time is over 1 year', function () {
|
||||||
|
assert.equal(FormatTime(31536001, 0), '01:00:00:00:01');
|
||||||
|
});
|
||||||
|
it('Format when time is over >9000 days', function () {
|
||||||
|
assert.equal(FormatTime(777600001, 0), '24:240:00:00:01');
|
||||||
|
});
|
||||||
|
it('Format when time is over >99.9 years', function () {
|
||||||
|
assert.equal(FormatTime(3155760001, 0), 'XX:XX:XX:XX:XX');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user