6
6
import { strict as assert } from "assert" ;
7
7
import { CompatKind } from "../../compatOptions.cjs" ;
8
8
import { isCompatVersionBelowMinVersion } from "../compatConfig.js" ;
9
- import { pkgVersion } from "../packageVersion.js" ;
10
- import { getRequestedVersion } from "../versionUtils.js" ;
11
- import { testBaseVersion } from "../baseVersion.js" ;
12
-
13
- function transformVersion ( version : string ) : string {
14
- const regex = / ( \d + ) \. ( \d + ) \. ( \d + ) - d e v - ( \w + ) \. ( \d + ) \. ( \d + ) \. ( \d + ) \. \d + / ;
15
- const matches = version . match ( regex ) ;
16
-
17
- if ( matches ) {
18
- const [ , major , minor , patch , label , num1 , num2 , num3 ] = matches ;
19
- return `${ major } .${ minor } .${ patch } -${ label } .${ num1 } .${ num2 } .${ num3 } ` ;
20
- } else {
21
- return version ;
22
- }
23
- }
9
+ import { baseVersionForMinCompat } from "../baseVersion.js" ;
24
10
25
11
describe ( "Minimum Compat Version" , ( ) => {
26
- const minTestVersion = transformVersion ( pkgVersion ) ;
27
12
const numCompatVersions = 9 ;
13
+ const oldVersion = "1.3.7" ;
14
+ // for cross compat unit testing
15
+ const greaterVersion = "2.0.0-rc.1.0.0" ;
16
+ const lowerVersion = "1.3.7" ;
17
+
28
18
it ( "bad min compat string" , ( ) => {
29
19
const invalidString = "invalid string" ;
30
20
assert . throws (
@@ -45,67 +35,80 @@ describe("Minimum Compat Version", () => {
45
35
) ;
46
36
} ) ;
47
37
38
+ // Making sure all previous versions get filtered.
48
39
for ( let i = 1 ; i < numCompatVersions ; i ++ ) {
49
- it ( `compatVersion N-${ i } < ${ minTestVersion } ` , ( ) => {
40
+ it ( `compatVersion N-${ i } < ${ baseVersionForMinCompat } ` , ( ) => {
50
41
assert . strictEqual (
51
- isCompatVersionBelowMinVersion ( minTestVersion , {
42
+ isCompatVersionBelowMinVersion ( baseVersionForMinCompat , {
52
43
name : `test` ,
53
44
kind : CompatKind . None ,
54
45
compatVersion : - i ,
55
46
} ) ,
56
47
true ,
57
- `N-${ i } version: "${ getRequestedVersion (
58
- testBaseVersion ( - i ) ,
59
- - i ,
60
- ) } " is not lower than min version: ${ minTestVersion } `,
48
+ `N-${ i } version is not lower than min version: ${ baseVersionForMinCompat } ` ,
49
+ ) ;
50
+ } ) ;
51
+ }
52
+
53
+ // Making sure compatConfigs with old min compat don't get filtered.
54
+ for ( let i = 1 ; i < numCompatVersions ; i ++ ) {
55
+ it ( `compatVersion N-${ i } > ${ oldVersion } ` , ( ) => {
56
+ assert . strictEqual (
57
+ isCompatVersionBelowMinVersion ( oldVersion , {
58
+ name : `test` ,
59
+ kind : CompatKind . None ,
60
+ compatVersion : - i ,
61
+ } ) ,
62
+ false ,
63
+ `N-${ i } version: is lower than min version: ${ oldVersion } ` ,
61
64
) ;
62
65
} ) ;
63
66
}
64
67
65
68
it ( "cross compat. filters out if loadVersion is lower than minVersion" , ( ) => {
66
69
assert . strictEqual (
67
- isCompatVersionBelowMinVersion ( minTestVersion , {
70
+ isCompatVersionBelowMinVersion ( greaterVersion , {
68
71
name : "test" ,
69
72
kind : CompatKind . CrossVersion ,
70
- compatVersion : minTestVersion ,
71
- loadVersion : "1.3.7" ,
73
+ compatVersion : greaterVersion ,
74
+ loadVersion : lowerVersion ,
72
75
} ) ,
73
76
true ,
74
77
) ;
75
78
} ) ;
76
79
77
80
it ( "cross compat. filters out if compatVersion is lower than minVersion" , ( ) => {
78
81
assert . strictEqual (
79
- isCompatVersionBelowMinVersion ( minTestVersion , {
82
+ isCompatVersionBelowMinVersion ( greaterVersion , {
80
83
name : "test" ,
81
84
kind : CompatKind . CrossVersion ,
82
- compatVersion : "1.3.7" ,
83
- loadVersion : minTestVersion ,
85
+ compatVersion : lowerVersion ,
86
+ loadVersion : greaterVersion ,
84
87
} ) ,
85
88
true ,
86
89
) ;
87
90
} ) ;
88
91
89
92
it ( "cross compat. does not filter out valid versions" , ( ) => {
90
93
assert . strictEqual (
91
- isCompatVersionBelowMinVersion ( "1.3.7" , {
94
+ isCompatVersionBelowMinVersion ( lowerVersion , {
92
95
name : "test" ,
93
96
kind : CompatKind . CrossVersion ,
94
- compatVersion : minTestVersion ,
95
- loadVersion : "1.3.7" ,
97
+ compatVersion : greaterVersion ,
98
+ loadVersion : lowerVersion ,
96
99
} ) ,
97
100
false ,
98
- `fails with minVersion: 1.3.7 compatversion: ${ minTestVersion } loadVersion: 1.3.7 ` ,
101
+ `fails with minVersion: ${ lowerVersion } compatversion: ${ greaterVersion } loadVersion: ${ lowerVersion } ` ,
99
102
) ;
100
103
assert . strictEqual (
101
- isCompatVersionBelowMinVersion ( "1.3.7" , {
104
+ isCompatVersionBelowMinVersion ( lowerVersion , {
102
105
name : "test" ,
103
106
kind : CompatKind . CrossVersion ,
104
- compatVersion : "1.3.7" ,
105
- loadVersion : minTestVersion ,
107
+ compatVersion : lowerVersion ,
108
+ loadVersion : greaterVersion ,
106
109
} ) ,
107
110
false ,
108
- `fails with minVersion: 1.3.7 compatversion: 1.3.7 loadVersion: ${ minTestVersion } ` ,
111
+ `fails with minVersion: ${ lowerVersion } compatversion: ${ lowerVersion } loadVersion: ${ greaterVersion } ` ,
109
112
) ;
110
113
} ) ;
111
114
} ) ;
0 commit comments