Chore: add tests for ruleset create utility

This commit is contained in:
SukkaW
2024-09-20 01:27:33 +08:00
parent 026bd02b90
commit 0bbbeaa372
2 changed files with 98 additions and 42 deletions

View File

@@ -0,0 +1,53 @@
import { expect } from 'chai';
import { fileEqual } from './create-file';
// eslint-disable-next-line @typescript-eslint/require-await -- async iterable
const createSource = async function *(input: string[]) {
for (const line of input) {
yield line;
}
};
const test = async (a: string[], b: string[], expected: boolean) => {
expect((await fileEqual(a, createSource(b)))).to.eq(expected);
};
describe('fileEqual', () => {
it('same', () => test(
['A', 'B'],
['A', 'B'],
true
));
it('ignore comment', async () => {
await test(
['# A', 'B'],
['# B', 'B'],
true
);
await test(
['# A', '# C', 'B'],
['# A', '# D', 'B'],
true
);
});
it('comment more', () => test(
['# A', 'B'],
['# A', '# B', 'B'],
false
));
it('larger', () => test(
['A', 'B'],
['A', 'B', 'C'],
false
));
it('smaller', () => test(
['A', 'B', 'C'],
['A', 'B'],
false
));
});