2
0
mirror of https://github.com/iconify/iconify.git synced 2024-10-24 01:22:04 +00:00
iconify/packages/core/tests/40-modules/10-storage-test.ts

52 lines
1.3 KiB
TypeScript

import 'mocha';
import { expect } from 'chai';
import { getIconName, storageFunctions } from '../../lib/storage/functions';
import { IconifyIconName } from '../../lib/icon/name';
describe('Testing IconifyStorageFunctions', () => {
let count = 0;
function nextProvider(): string {
return 'storage-test-' + count++;
}
it('Getting icon name', () => {
let expected: IconifyIconName;
expected = {
provider: '',
prefix: 'mdi',
name: 'home',
};
expect(getIconName('mdi:home')).to.be.eql(expected);
expected = {
provider: 'local-test',
prefix: 'mdi',
name: 'home',
};
expect(getIconName('@local-test:mdi:home')).to.be.eql(expected);
expect(getIconName('test')).to.be.equal(null);
});
it('Storage functions', () => {
const provider = nextProvider();
const testName = `@${provider}:foo:bar`;
// Empty
expect(storageFunctions.iconExists(testName)).to.be.equal(false);
expect(storageFunctions.getIcon(testName)).to.be.equal(null);
expect(storageFunctions.listIcons(provider)).to.be.eql([]);
// Add and test one icon
expect(
storageFunctions.addIcon(testName, {
body: '<g />',
})
).to.be.equal(true);
expect(storageFunctions.iconExists(testName)).to.be.equal(true);
expect(storageFunctions.listIcons(provider)).to.be.eql([testName]);
});
});