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(
+ ``
+ );
+ });
});