const { ranges } = compile(`<script setup lang="ts">${src}</script>`)
expect(getRange(src, ranges!.emitsTypeArg!)).toBe(`{ (e: 'x'): void }`)
})
+
+ test('no script setup block', () => {
+ const src = `import { x } from './x'`
+ const { ranges } = compile(`<script>${src}</script>`)
+ expect(getRange(src, ranges!.scriptBindings[0])).toBe(`x`)
+ })
+
+ test('no script block', () => {
+ expect(() => compile(`<style>hello</style>`)).not.toThrow()
+ })
})
import MagicString from 'magic-string'
-import { BindingMetadata, BindingTypes, UNREF } from '@vue/compiler-core'
+import {
+ BindingMetadata,
+ BindingTypes,
+ locStub,
+ UNREF
+} from '@vue/compiler-core'
import {
ScriptSetupTextRanges,
SFCDescriptor,
type: 'script',
content: '',
attrs: {},
- loc: null as any
+ loc: locStub
}
}