mirror of https://github.com/iconify/api.git
64 lines
1.0 KiB
TypeScript
64 lines
1.0 KiB
TypeScript
import { removeBadAliases } from '../../lib/data/icon-set/store/validate';
|
|
|
|
describe('Validating icon set', () => {
|
|
test('Long chain of aliases, bad aliases', () => {
|
|
const body = '<g />';
|
|
|
|
const iconSet = {
|
|
prefix: 'foo',
|
|
icons: {
|
|
foo: {
|
|
body,
|
|
},
|
|
bar: {
|
|
body,
|
|
},
|
|
},
|
|
aliases: {
|
|
baz: {
|
|
parent: 'bar',
|
|
},
|
|
// Will be parsed before parent
|
|
baz2: {
|
|
parent: 'baz3',
|
|
},
|
|
// Will be parsed when already resolved
|
|
baz3: {
|
|
parent: 'baz',
|
|
},
|
|
baz4: {
|
|
parent: 'baz3',
|
|
},
|
|
baz5: {
|
|
parent: 'baz4',
|
|
},
|
|
baz6: {
|
|
parent: 'baz5',
|
|
},
|
|
bazz5: {
|
|
parent: 'baz4',
|
|
hFlip: true,
|
|
},
|
|
// Bad alias
|
|
bad: {
|
|
parent: 'good',
|
|
},
|
|
// Loop
|
|
loop1: {
|
|
parent: 'loop3',
|
|
},
|
|
loop2: {
|
|
parent: 'loop1',
|
|
},
|
|
loop3: {
|
|
parent: 'loop1',
|
|
},
|
|
},
|
|
};
|
|
removeBadAliases(iconSet);
|
|
|
|
// Check aliases
|
|
expect(Object.keys(iconSet.aliases)).toEqual(['baz', 'baz2', 'baz3', 'baz4', 'baz5', 'baz6', 'bazz5']);
|
|
});
|
|
});
|