Added husky.

This commit is contained in:
Keanu Timmermans 2020-10-15 09:23:24 +00:00 committed by GitHub
parent 57433cc594
commit 74b4d4272c
36 changed files with 2677 additions and 2226 deletions

View file

@ -1,69 +1,111 @@
import {strict as assert} from "assert";
import {NumberWrapper, StringWrapper, ArrayWrapper} from "../src/core/wrappers";
import { strict as assert } from 'assert';
import {
NumberWrapper,
StringWrapper,
ArrayWrapper,
} from '../src/core/wrappers';
// I can't figure out a way to run the test suite while running the bot.
describe("Wrappers", () => {
describe("NumberWrapper", () => {
describe("#pluralise()", () => {
it('should return "5 credits"', () => {
assert.strictEqual(new NumberWrapper(5).pluralise("credit", "s"), "5 credits");
})
it('should return "1 credit"', () => {
assert.strictEqual(new NumberWrapper(1).pluralise("credit", "s"), "1 credit");
})
it('should return "-1 credits"', () => {
assert.strictEqual(new NumberWrapper(-1).pluralise("credit", "s"), "-1 credits");
})
it('should be able to work with a plural suffix', () => {
assert.strictEqual(new NumberWrapper(2).pluralise("part", "ies", "y"), "2 parties");
})
it('should be able to work with a singular suffix', () => {
assert.strictEqual(new NumberWrapper(1).pluralise("part", "ies", "y"), "1 party");
})
it('should be able to exclude the number', () => {
assert.strictEqual(new NumberWrapper(1).pluralise("credit", "s", "", true), "credit");
})
})
describe("#pluraliseSigned()", () => {
it('should return "-1 credits"', () => {
assert.strictEqual(new NumberWrapper(-1).pluraliseSigned("credit", "s"), "-1 credits");
})
it('should return "+0 credits"', () => {
assert.strictEqual(new NumberWrapper(0).pluraliseSigned("credit", "s"), "+0 credits");
})
it('should return "+1 credit"', () => {
assert.strictEqual(new NumberWrapper(1).pluraliseSigned("credit", "s"), "+1 credit");
})
})
})
describe("StringWrapper", () => {
describe("#replaceAll()", () => {
it('should convert "test" to "zesz"', () => {
assert.strictEqual(new StringWrapper("test").replaceAll('t', 'z'), "zesz");
})
})
describe("#toTitleCase()", () => {
it('should capitalize the first letter of each word', () => {
assert.strictEqual(new StringWrapper("yeetus deletus find salvation from jesus").toTitleCase(), "Yeetus Deletus Find Salvation From Jesus");
})
})
})
describe("ArrayWrapper", () => {
describe("#split()", () => {
it('should split [1,2,3,4,5,6,7,8,9,10] into [[1,2,3],[4,5,6],[7,8,9],[10]]', () => {
assert.deepStrictEqual(new ArrayWrapper([1,2,3,4,5,6,7,8,9,10]).split(3), [[1,2,3],[4,5,6],[7,8,9],[10]]);
})
})
})
})
describe('Wrappers', () => {
describe('NumberWrapper', () => {
describe('#pluralise()', () => {
it('should return "5 credits"', () => {
assert.strictEqual(
new NumberWrapper(5).pluralise('credit', 's'),
'5 credits',
);
});
it('should return "1 credit"', () => {
assert.strictEqual(
new NumberWrapper(1).pluralise('credit', 's'),
'1 credit',
);
});
it('should return "-1 credits"', () => {
assert.strictEqual(
new NumberWrapper(-1).pluralise('credit', 's'),
'-1 credits',
);
});
it('should be able to work with a plural suffix', () => {
assert.strictEqual(
new NumberWrapper(2).pluralise('part', 'ies', 'y'),
'2 parties',
);
});
it('should be able to work with a singular suffix', () => {
assert.strictEqual(
new NumberWrapper(1).pluralise('part', 'ies', 'y'),
'1 party',
);
});
it('should be able to exclude the number', () => {
assert.strictEqual(
new NumberWrapper(1).pluralise('credit', 's', '', true),
'credit',
);
});
});
describe('#pluraliseSigned()', () => {
it('should return "-1 credits"', () => {
assert.strictEqual(
new NumberWrapper(-1).pluraliseSigned('credit', 's'),
'-1 credits',
);
});
it('should return "+0 credits"', () => {
assert.strictEqual(
new NumberWrapper(0).pluraliseSigned('credit', 's'),
'+0 credits',
);
});
it('should return "+1 credit"', () => {
assert.strictEqual(
new NumberWrapper(1).pluraliseSigned('credit', 's'),
'+1 credit',
);
});
});
});
describe('StringWrapper', () => {
describe('#replaceAll()', () => {
it('should convert "test" to "zesz"', () => {
assert.strictEqual(
new StringWrapper('test').replaceAll('t', 'z'),
'zesz',
);
});
});
describe('#toTitleCase()', () => {
it('should capitalize the first letter of each word', () => {
assert.strictEqual(
new StringWrapper(
'yeetus deletus find salvation from jesus',
).toTitleCase(),
'Yeetus Deletus Find Salvation From Jesus',
);
});
});
});
describe('ArrayWrapper', () => {
describe('#split()', () => {
it('should split [1,2,3,4,5,6,7,8,9,10] into [[1,2,3],[4,5,6],[7,8,9],[10]]', () => {
assert.deepStrictEqual(
new ArrayWrapper([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).split(3),
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]],
);
});
});
});
});