50 lines
1 KiB
TypeScript
50 lines
1 KiB
TypeScript
// Copyright 2024 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import { assert } from 'chai';
|
|
|
|
import { generateConfigMatrix } from '../../util/generateConfigMatrix';
|
|
|
|
describe('generateConfigMatrix', () => {
|
|
it('generates an empty list', () => {
|
|
assert.deepStrictEqual(generateConfigMatrix({}), []);
|
|
|
|
assert.deepStrictEqual(
|
|
generateConfigMatrix({
|
|
prop1: [],
|
|
prop2: [],
|
|
}),
|
|
[]
|
|
);
|
|
});
|
|
|
|
it('generates a single-element list', () => {
|
|
assert.deepStrictEqual(
|
|
generateConfigMatrix({
|
|
prop1: ['a'],
|
|
prop2: ['b'],
|
|
}),
|
|
[
|
|
{
|
|
prop1: 'a',
|
|
prop2: 'b',
|
|
},
|
|
]
|
|
);
|
|
});
|
|
|
|
it('generates multiple permutations', () => {
|
|
assert.deepStrictEqual(
|
|
generateConfigMatrix({
|
|
prop1: ['a', 'b'],
|
|
prop2: ['c', 'd'],
|
|
}),
|
|
[
|
|
{ prop1: 'a', prop2: 'c' },
|
|
{ prop1: 'b', prop2: 'c' },
|
|
{ prop1: 'a', prop2: 'd' },
|
|
{ prop1: 'b', prop2: 'd' },
|
|
]
|
|
);
|
|
});
|
|
});
|