@@ -319,11 +319,57 @@ h1 { color: red }
319
319
`At least one <template> or <script> is required in a single file component`
320
320
)
321
321
} )
322
+ } )
323
+
324
+ describe ( 'default script lang' , ( ) => {
325
+ test ( 'default script lang' , ( ) => {
326
+ const { descriptor, errors } = parse (
327
+ `<script>console.log(0x0f)</script>` ,
328
+ {
329
+ defaultScriptLang : 'ts'
330
+ }
331
+ )
332
+ expect ( errors . length ) . toBe ( 0 )
333
+ expect ( descriptor . script ?. lang ) . toBe ( 'ts' )
334
+ } )
335
+
336
+ test ( 'default script setup lang without default script lang' , ( ) => {
337
+ const { descriptor, errors } = parse (
338
+ `<script>console.log(0x02)</script>` ,
339
+ {
340
+ defaultScriptSetupLang : 'ts'
341
+ }
342
+ )
343
+ expect ( errors . length ) . toBe ( 0 )
344
+ expect ( descriptor . script ?. lang ) . toBeUndefined ( )
345
+ } )
346
+
347
+ test ( 'default script setup lang' , ( ) => {
348
+ const { descriptor, errors } = parse (
349
+ `<script setup>console.log(0x03)</script>` ,
350
+ {
351
+ defaultScriptLang : 'ts'
352
+ }
353
+ )
354
+ expect ( errors . length ) . toBe ( 0 )
355
+ expect ( descriptor . scriptSetup ?. lang ) . toBe ( 'ts' )
356
+ } )
357
+
358
+ test ( 'default script setup lang by `defaultScriptSetupLang`' , ( ) => {
359
+ const { descriptor, errors } = parse (
360
+ `<script setup>console.log(0x04)</script>` ,
361
+ {
362
+ defaultScriptSetupLang : 'tsx'
363
+ }
364
+ )
365
+ expect ( errors . length ) . toBe ( 0 )
366
+ expect ( descriptor . scriptSetup ?. lang ) . toBe ( 'tsx' )
367
+ } )
322
368
323
369
test ( 'different default lang for script & script setup' , ( ) => {
324
370
const { descriptor, errors } = parse (
325
371
`<script setup>const foo: string = 'bar'</script>
326
- <script>console.log(1 )</script>` ,
372
+ <script>console.log(0x05 )</script>` ,
327
373
{
328
374
defaultScriptLang : 'ts' ,
329
375
defaultScriptSetupLang : 'tsx'
@@ -336,8 +382,10 @@ h1 { color: red }
336
382
337
383
test ( 'the same default lang for script & script setup' , ( ) => {
338
384
const { descriptor, errors } = parse (
339
- `<script setup>const foo: string = 'bar'</script>
340
- <script>console.log(1)</script>` ,
385
+ `
386
+ <script>console.log(0x06)</script>
387
+ <script setup>console.log(0x07)</script>
388
+ ` ,
341
389
{
342
390
defaultScriptLang : 'ts'
343
391
}
0 commit comments