123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- import { rewriteDefault } from '../src'
- describe('compiler sfc: rewriteDefault', () => {
- test('without export default', () => {
- expect(rewriteDefault(`export a = {}`, 'script')).toMatchInlineSnapshot(`
- "export a = {}
- const script = {}"
- `)
- })
- test('rewrite export default', () => {
- expect(
- rewriteDefault(`export default {}`, 'script')
- ).toMatchInlineSnapshot(`"const script = {}"`)
- })
- test('rewrite export named default', () => {
- expect(
- rewriteDefault(
- `const a = 1 \n export { a as b, a as default, a as c}`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "const a = 1
- export { a as b, a as c}
- const script = a"
- `)
- expect(
- rewriteDefault(
- `const a = 1 \n export { a as b, a as default , a as c}`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "const a = 1
- export { a as b, a as c}
- const script = a"
- `)
- })
- test('w/ comments', async () => {
- expect(rewriteDefault(`// export default\nexport default {}`, 'script'))
- .toMatchInlineSnapshot(`
- "// export default
- const script = {}"
- `)
- })
- test('export named default multiline', () => {
- expect(
- rewriteDefault(`let App = {}\n export {\nApp as default\n}`, '_sfc_main')
- ).toMatchInlineSnapshot(`
- "let App = {}
- export {
-
- }
- const _sfc_main = App"
- `)
- })
- test('export named default multiline /w comments', () => {
- expect(
- rewriteDefault(
- `const a = 1 \n export {\n a as b,\n a as default,\n a as c}\n` +
- `// export { myFunction as default }`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "const a = 1
- export {
- a as b,
-
- a as c}
- // export { myFunction as default }
- const script = a"
- `)
- expect(
- rewriteDefault(
- `const a = 1 \n export {\n a as b,\n a as default ,\n a as c}\n` +
- `// export { myFunction as default }`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "const a = 1
- export {
- a as b,
-
- a as c}
- // export { myFunction as default }
- const script = a"
- `)
- })
- test(`export { default } from '...'`, async () => {
- expect(
- rewriteDefault(`export { default, foo } from './index.js'`, 'script')
- ).toMatchInlineSnapshot(`
- "import { default as __VUE_DEFAULT__ } from './index.js'
- export { foo } from './index.js'
- const script = __VUE_DEFAULT__"
- `)
- expect(
- rewriteDefault(`export { default , foo } from './index.js'`, 'script')
- ).toMatchInlineSnapshot(`
- "import { default as __VUE_DEFAULT__ } from './index.js'
- export { foo } from './index.js'
- const script = __VUE_DEFAULT__"
- `)
- expect(
- rewriteDefault(`export { foo, default } from './index.js'`, 'script')
- ).toMatchInlineSnapshot(`
- "import { default as __VUE_DEFAULT__ } from './index.js'
- export { foo, } from './index.js'
- const script = __VUE_DEFAULT__"
- `)
- expect(
- rewriteDefault(
- `export { foo as default, bar } from './index.js'`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "import { foo } from './index.js'
- export { bar } from './index.js'
- const script = foo"
- `)
- expect(
- rewriteDefault(
- `export { foo as default , bar } from './index.js'`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "import { foo } from './index.js'
- export { bar } from './index.js'
- const script = foo"
- `)
- expect(
- rewriteDefault(
- `export { bar, foo as default } from './index.js'`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "import { foo } from './index.js'
- export { bar, } from './index.js'
- const script = foo"
- `)
- })
- test('export default class', async () => {
- expect(rewriteDefault(`export default class Foo {}`, 'script'))
- .toMatchInlineSnapshot(`
- "class Foo {}
- const script = Foo"
- `)
- })
- test('export default class w/ comments', async () => {
- expect(
- rewriteDefault(`// export default\nexport default class Foo {}`, 'script')
- ).toMatchInlineSnapshot(`
- "// export default
- class Foo {}
- const script = Foo"
- `)
- })
- test('export default class w/ comments 2', async () => {
- expect(
- rewriteDefault(
- `export default {}\n` + `// export default class Foo {}`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "const script = {}
- // export default class Foo {}"
- `)
- })
- test('export default class w/ comments 3', async () => {
- expect(
- rewriteDefault(
- `/*\nexport default class Foo {}*/\n` + `export default class Bar {}`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "/*
- export default class Foo {}*/
- class Bar {}
- const script = Bar"
- `)
- })
- test('@Component\nexport default class', async () => {
- expect(rewriteDefault(`@Component\nexport default class Foo {}`, 'script'))
- .toMatchInlineSnapshot(`
- "@Component
- class Foo {}
- const script = Foo"
- `)
- })
- test('@Component\nexport default class w/ comments', async () => {
- expect(
- rewriteDefault(`// export default\n@Component\nexport default class Foo {}`, 'script')
- ).toMatchInlineSnapshot(`
- "// export default
- @Component
- class Foo {}
- const script = Foo"
- `)
- })
- test('@Component\nexport default class w/ comments 2', async () => {
- expect(
- rewriteDefault(
- `export default {}\n` + `// @Component\n// export default class Foo {}`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "const script = {}
- // @Component
- // export default class Foo {}"
- `)
- })
- test('@Component\nexport default class w/ comments 3', async () => {
- expect(
- rewriteDefault(
- `/*\n@Component\nexport default class Foo {}*/\n` + `export default class Bar {}`,
- 'script'
- )
- ).toMatchInlineSnapshot(`
- "/*
- @Component
- export default class Foo {}*/
- class Bar {}
- const script = Bar"
- `)
- })
- })
|