@@ -270,8 +270,14 @@ it(`should refuse to run a different package manager within a configured project
270270 process . env . COREPACK_ENABLE_STRICT = `0` ;
271271
272272 try {
273+ await expect ( runCli ( cwd , [ `yarn` , `--version` ] ) ) . resolves . toMatchObject ( {
274+ stdout : `1.0.0\n` ,
275+ stderr : `` ,
276+ exitCode : 0 ,
277+ } ) ;
273278 await expect ( runCli ( cwd , [ `pnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
274279 stdout : `${ config . definitions . pnpm . default . split ( `+` , 1 ) [ 0 ] } \n` ,
280+ stderr : `` ,
275281 exitCode : 0 ,
276282 } ) ;
277283 } finally {
@@ -281,6 +287,31 @@ it(`should refuse to run a different package manager within a configured project
281287 } ) ;
282288} ) ;
283289
290+
291+ it ( `should always use fallback version when project spec env is disabled` , async ( ) => {
292+ await xfs . mktempPromise ( async cwd => {
293+ await xfs . writeJsonPromise ( ppath . join ( cwd , `package.json` as Filename ) , {
294+ packageManager : `yarn@1.0.0` ,
295+ } ) ;
296+ process . env . COREPACK_ENABLE_PROJECT_SPEC = `0` ;
297+
298+ try {
299+ await expect ( runCli ( cwd , [ `yarn` , `--version` ] ) ) . resolves . toMatchObject ( {
300+ stdout : `${ config . definitions . yarn . default . split ( `+` , 1 ) [ 0 ] } \n` ,
301+ stderr : `` ,
302+ exitCode : 0 ,
303+ } ) ;
304+ await expect ( runCli ( cwd , [ `pnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
305+ stdout : `${ config . definitions . pnpm . default . split ( `+` , 1 ) [ 0 ] } \n` ,
306+ stderr : `` ,
307+ exitCode : 0 ,
308+ } ) ;
309+ } finally {
310+ delete process . env . COREPACK_ENABLE_PROJECT_SPEC ;
311+ }
312+ } ) ;
313+ } ) ;
314+
284315it ( `should allow to call "prepare" with --all to prepare all package managers` , async ( ) => {
285316 await xfs . mktempPromise ( async cwd => {
286317 await xfs . writeJsonPromise ( ppath . join ( cwd , `package.json` as Filename ) , {
0 commit comments