@@ -29,6 +29,40 @@ it(`should refuse to download a package manager if the hash doesn't match`, asyn
29
29
} ) ;
30
30
} ) ;
31
31
32
+ it ( `should require a version to be specified` , async ( ) => {
33
+ await xfs . mktempPromise ( async cwd => {
34
+ await xfs . writeJsonPromise ( ppath . join ( cwd , `package.json` as Filename ) , {
35
+ packageManager : `yarn` ,
36
+ } ) ;
37
+
38
+ await expect ( runCli ( cwd , [ `yarn` , `--version` ] ) ) . resolves . toMatchObject ( {
39
+ exitCode : 1 ,
40
+ stderr : `` ,
41
+ stdout : / e x p e c t e d a s e m v e r v e r s i o n / ,
42
+ } ) ;
43
+
44
+ await xfs . writeJsonPromise ( ppath . join ( cwd , `package.json` as Filename ) , {
45
+ packageManager : `yarn@stable` ,
46
+ } ) ;
47
+
48
+ await expect ( runCli ( cwd , [ `yarn` , `--version` ] ) ) . resolves . toMatchObject ( {
49
+ exitCode : 1 ,
50
+ stderr : `` ,
51
+ stdout : / e x p e c t e d a s e m v e r v e r s i o n / ,
52
+ } ) ;
53
+
54
+ await xfs . writeJsonPromise ( ppath . join ( cwd , `package.json` as Filename ) , {
55
+ packageManager : `yarn@^1.0.0` ,
56
+ } ) ;
57
+
58
+ await expect ( runCli ( cwd , [ `yarn` , `--version` ] ) ) . resolves . toMatchObject ( {
59
+ exitCode : 1 ,
60
+ stderr : `` ,
61
+ stdout : / e x p e c t e d a s e m v e r v e r s i o n / ,
62
+ } ) ;
63
+ } ) ;
64
+ } ) ;
65
+
32
66
const testedPackageManagers : Array < [ string , string ] > = [
33
67
[ `yarn` , `1.22.4` ] ,
34
68
[ `yarn` , `1.22.4+sha1.01c1197ca5b27f21edc8bc472cd4c8ce0e5a470e` ] ,
0 commit comments