From 47427adff98a089cf4969328c34c5332705b91ee Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 12 Feb 2025 10:26:05 +0000 Subject: [PATCH] test: slightly improve coverage --- .../src/components/plugins/component-names.ts | 2 ++ packages/nuxt/test/component-names.test.ts | 29 ++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/packages/nuxt/src/components/plugins/component-names.ts b/packages/nuxt/src/components/plugins/component-names.ts index d7b6f10c7a..5ac4141f0f 100644 --- a/packages/nuxt/src/components/plugins/component-names.ts +++ b/packages/nuxt/src/components/plugins/component-names.ts @@ -18,6 +18,7 @@ export const ComponentNamePlugin = (options: NameDevPluginOptions) => createUnpl name: 'nuxt:component-name-plugin', enforce: 'post', transformInclude (id) { + /* v8 ignore next 2 */ return isVue(id) || !!id.match(SX_RE) }, transform (code, id) { @@ -53,6 +54,7 @@ export const ComponentNamePlugin = (options: NameDevPluginOptions) => createUnpl return { code: s.toString(), map: options.sourcemap + /* v8 ignore next */ ? s.generateMap({ hires: true }) : undefined, } diff --git a/packages/nuxt/test/component-names.test.ts b/packages/nuxt/test/component-names.test.ts index fdb585e614..cc8a2662c9 100644 --- a/packages/nuxt/test/component-names.test.ts +++ b/packages/nuxt/test/component-names.test.ts @@ -6,13 +6,34 @@ import * as Parser from 'acorn' import { ComponentNamePlugin } from '../src/components/plugins/component-names' describe('component names', () => { - const components = [{ - filePath: 'test.ts', - pascalName: 'TestMe', - }] as [Component] + const components = [ + { + filePath: 'test.ts', + pascalName: 'TestMe', + }, + { + filePath: 'test.vue', + pascalName: 'TestMe', + }, + ] as [Component, Component] const transformPlugin = ComponentNamePlugin({ sourcemap: false, getComponents: () => components }).raw({}, {} as any) as { transform: (code: string, id: string) => { code: string } | null } + it('should ignore files without extension', () => { + const res = transformPlugin.transform('export default {}', 'test') + expect(res?.code).toBeUndefined() + }) + + it('should ignore files that are not components ', () => { + const res = transformPlugin.transform('export default {}', 'some-other-file.ts') + expect(res?.code).toBeUndefined() + }) + + it('should process simple default exports', () => { + const res = transformPlugin.transform('export default {}', 'test.vue') + expect(res?.code).toMatchInlineSnapshot(`"export default Object.assign({}, { __name: "TestMe" })"`) + }) + it('should add correct default component names', () => { const sfc = `