diff --git a/components/vue/src/render.ts b/components/vue/src/render.ts index aeb173e..dc73f21 100644 --- a/components/vue/src/render.ts +++ b/components/vue/src/render.ts @@ -127,6 +127,7 @@ export const render = ( case 'style': case 'onLoad': case 'mode': + case 'ssr': break; // Boolean attributes diff --git a/components/vue/tests/iconify/10-basic-test.ts b/components/vue/tests/iconify/10-basic-test.ts index 00bc1de..f6f77e8 100644 --- a/components/vue/tests/iconify/10-basic-test.ts +++ b/components/vue/tests/iconify/10-basic-test.ts @@ -1,6 +1,6 @@ import { nextTick } from 'vue'; import { mount } from '@vue/test-utils'; -import { Icon } from '../../'; +import { Icon, setCustomIconLoader, loadIcon } from '../../'; const iconData = { body: '', @@ -44,4 +44,33 @@ describe('Creating component', () => { '' ); }); + + test('custom loader', async () => { + const prefix = 'customLoader'; + const name = 'TestIcon'; + + // Set custom loader and load icon data + setCustomIconLoader(() => { + return iconData; + }, prefix); + await loadIcon(`${prefix}:${name}`); + + // Create component + const Wrapper = { + components: { Icon }, + template: ``, + data() { + return { + icon: `${prefix}:${name}`, + }; + }, + }; + + const wrapper = mount(Wrapper, {}); + await nextTick(); + + expect(wrapper.html().replace(/\s*\n\s*/g, '')).toBe( + `` + ); + }); });