@@ -2,32 +2,51 @@ const test = require("node:test");
22const assert = require ( "node:assert/strict" ) ;
33
44const {
5- buildReleaseURL,
6- repositorySlug,
7- resolveReleaseAsset,
5+ buildReleaseURL,
6+ repositorySlug,
7+ resolveReleaseAsset,
8+ resolveVersion,
89} = require ( "./install.js" ) ;
910
1011test ( "resolveReleaseAsset maps supported targets to release asset names" , ( ) => {
11- assert . equal ( resolveReleaseAsset ( "darwin" , "arm64" ) , "wfkit-darwin-arm64" ) ;
12- assert . equal ( resolveReleaseAsset ( "darwin" , "x64" ) , "wfkit-darwin-amd64" ) ;
13- assert . equal ( resolveReleaseAsset ( "linux" , "arm64" ) , "wfkit-linux-arm64" ) ;
14- assert . equal ( resolveReleaseAsset ( "linux" , "x64" ) , "wfkit-linux-amd64" ) ;
15- assert . equal ( resolveReleaseAsset ( "win32" , "arm64" ) , "wfkit-windows-arm64.exe" ) ;
16- assert . equal ( resolveReleaseAsset ( "win32" , "x64" ) , "wfkit-windows-amd64.exe" ) ;
12+ assert . equal ( resolveReleaseAsset ( "darwin" , "arm64" ) , "wfkit-darwin-arm64" ) ;
13+ assert . equal ( resolveReleaseAsset ( "darwin" , "x64" ) , "wfkit-darwin-amd64" ) ;
14+ assert . equal ( resolveReleaseAsset ( "linux" , "arm64" ) , "wfkit-linux-arm64" ) ;
15+ assert . equal ( resolveReleaseAsset ( "linux" , "x64" ) , "wfkit-linux-amd64" ) ;
16+ assert . equal (
17+ resolveReleaseAsset ( "win32" , "arm64" ) ,
18+ "wfkit-windows-arm64.exe" ,
19+ ) ;
20+ assert . equal ( resolveReleaseAsset ( "win32" , "x64" ) , "wfkit-windows-amd64.exe" ) ;
1721} ) ;
1822
1923test ( "resolveReleaseAsset rejects unsupported targets with a clear error" , ( ) => {
20- assert . throws (
21- ( ) => resolveReleaseAsset ( "linux" , "ia32" ) ,
22- / U n s u p p o r t e d p l a t f o r m l i n u x \/ i a 3 2 /
23- ) ;
24+ assert . throws (
25+ ( ) => resolveReleaseAsset ( "linux" , "ia32" ) ,
26+ / U n s u p p o r t e d p l a t f o r m l i n u x \/ i a 3 2 / ,
27+ ) ;
2428} ) ;
2529
2630test ( "buildReleaseURL uses the organization repository and versioned assets" , ( ) => {
27- const url = buildReleaseURL ( "wfkit-linux-arm64" , "1.2.3" ) ;
31+ const url = buildReleaseURL ( "wfkit-linux-arm64" , "1.2.3" ) ;
2832
29- assert . equal (
30- url ,
31- `https://github.com/${ repositorySlug } /releases/download/v1.2.3/wfkit-linux-arm64`
32- ) ;
33+ assert . equal (
34+ url ,
35+ `https://github.com/${ repositorySlug } /releases/download/v1.2.3/wfkit-linux-arm64` ,
36+ ) ;
37+ } ) ;
38+
39+ test ( "resolveVersion ignores parent project npm_package_version values" , ( ) => {
40+ const previousValue = process . env . npm_package_version ;
41+ process . env . npm_package_version = "0.0.0" ;
42+
43+ try {
44+ assert . equal ( resolveVersion ( ) , require ( "./package.json" ) . version ) ;
45+ } finally {
46+ if ( previousValue === undefined ) {
47+ delete process . env . npm_package_version ;
48+ } else {
49+ process . env . npm_package_version = previousValue ;
50+ }
51+ }
3352} ) ;
0 commit comments