2
0
mirror of https://github.com/iconify/iconify.git synced 2024-12-12 21:57:50 +00:00
iconify/iconify-icon/icon/tests/icon-object-test.ts
2022-06-19 17:47:45 +03:00

62 lines
1.1 KiB
TypeScript

import { testIconObject } from '../src/attributes/icon/object';
import { defaultIconProps } from '@iconify/utils/lib/icon/defaults';
describe('Testing testIconObject', () => {
it('Objects', () => {
expect(
testIconObject({
body: '<g />',
})
).toEqual({
...defaultIconProps,
body: '<g />',
});
expect(
testIconObject({
body: '<g />',
width: 24,
height: '32',
})
).toEqual({
...defaultIconProps,
body: '<g />',
width: 24,
// Validation is simple, this will fail during render
height: '32',
});
// Invalid objects
expect(testIconObject({})).toBeUndefined();
expect(
testIconObject([
{
body: '<g />',
},
])
).toBeUndefined();
expect(
testIconObject({
body: true,
})
).toBeUndefined();
});
it('String', () => {
expect(
testIconObject(
JSON.stringify({
body: '<g />',
})
)
).toEqual({
...defaultIconProps,
body: '<g />',
});
// Strings that are not objects
expect(testIconObject('foo')).toBeUndefined();
expect(testIconObject('{"body": "<g />"')).toBeUndefined();
});
});