@storybook/addon-svelte-csf
Version:
Allows to write stories in Svelte syntax
25 lines (24 loc) • 1.24 kB
JavaScript
import { print } from 'svelte-ast-print';
import { describe, it } from 'vitest';
import { transformImportDeclaration } from './import-declaration.js';
import { parseAndExtractSvelteNode } from '../../../../tests/extractor.js';
describe(transformImportDeclaration.name, () => {
it("removes legacy components and add 'defineMeta'", async ({ expect }) => {
const code = `
<script context="module" lang="ts">
import { Story, Template } from "@storybook/addon-svelte-csf";
</script>
`;
const node = await parseAndExtractSvelteNode(code, 'ImportDeclaration');
expect(print(transformImportDeclaration({ node }))).toMatchInlineSnapshot(`"import { defineMeta } from "/addon-svelte-csf";"`);
});
it("it doesn't remove existing 'defineMeta'", async ({ expect }) => {
const code = `
<script context="module" lang="ts">
import { Story, Template, defineMeta } from "@storybook/addon-svelte-csf";
</script>
`;
const node = await parseAndExtractSvelteNode(code, 'ImportDeclaration');
expect(print(transformImportDeclaration({ node }))).toMatchInlineSnapshot(`"import { defineMeta } from "/addon-svelte-csf";"`);
});
});