File tree Expand file tree Collapse file tree 3 files changed +16
-2
lines changed Expand file tree Collapse file tree 3 files changed +16
-2
lines changed Original file line number Diff line number Diff line change 11import { funcA } from './A'
2+ import { funcB } from './B'
23
34export function main ( ) {
45 return funcA ( )
56}
7+
8+ export function mainB ( ) {
9+ return funcB ( )
10+ }
Original file line number Diff line number Diff line change 11import { expect , test , vi } from 'vitest'
2- import { main } from '../src/main.js'
2+ import { main , mainB } from '../src/main.js'
33import x from '../src/export-default-circle-index'
44
55vi . mock ( '../src/A' , async ( ) => ( {
66 ...( await vi . importActual < any > ( '../src/A' ) ) ,
77 funcA : ( ) => 'mockedA' ,
88} ) )
99
10+ vi . mock ( '../src/B' , async ( ) => ( {
11+ ...( await vi . importActual < any > ( '../src/B' ) ) ,
12+ funcB : ( ) => 'mockedB' ,
13+ } ) )
14+
1015vi . mock ( '../src/export-default-circle-b' )
1116
1217test ( 'can import actual inside mock factory' , ( ) => {
1318 expect ( main ( ) ) . toBe ( 'mockedA' )
1419} )
1520
21+ test ( 'can import in top level and inside mock factory' , ( ) => {
22+ expect ( mainB ( ) ) . toBe ( 'mockedB' )
23+ } )
24+
1625test ( 'can mock a circular dependency' , ( ) => {
1726 expect ( x ( ) ) . toBe ( undefined )
1827} )
Original file line number Diff line number Diff line change @@ -193,7 +193,7 @@ export class ViteNodeRunner {
193193 const getStack = ( ) => `stack:\n${ [ ...callstack , fsPath ] . reverse ( ) . map ( p => ` - ${ p } ` ) . join ( '\n' ) } `
194194
195195 // check circular dependency
196- if ( callstack . includes ( fsPath ) || callstack . some ( c => this . moduleCache . get ( c ) . importers ?. has ( fsPath ) ) ) {
196+ if ( callstack . includes ( fsPath ) || callstack . some ( c => this . moduleCache . get ( c ) . importers ?. has ( fsPath ) ) || mod . importers . has ( importee ) ) {
197197 if ( mod . exports )
198198 return mod . exports
199199 }
You can’t perform that action at this time.
0 commit comments