@@ -12,7 +12,6 @@ Deno.test("useConfig", () => {
1212 assertEquals ( config . UserAgent , "libpkgx" )
1313 }
1414
15-
1615 const PKGX_PANTRY_PATH = Deno . build . os == 'windows' ? "C:\\foo;D:\\bar" : "/foo:/bar"
1716
1817 config = ConfigDefault ( { PKGX_PANTRY_PATH , CI : "true" } )
@@ -45,3 +44,26 @@ Deno.test("useConfig empty PKGX_PANTRY_PATH is ignored", () => {
4544 assertEquals ( ConfigDefault ( { PKGX_PANTRY_PATH : "" } ) . pantries , [ ] )
4645 assertEquals ( ConfigDefault ( { PKGX_PANTRY_PATH : ` ${ SEP } ${ SEP } ` } ) . pantries , [ ] )
4746} )
47+
48+ Deno . test ( "pkgx^2 rules" , ( ) => {
49+ switch ( Deno . build . os ) {
50+ case 'windows' :
51+ assertEquals ( ConfigDefault ( { XDG_DATA_HOME : "C:\\foo" } ) . data , Path . home ( ) . join ( "AppData/Local" ) ) ;
52+ assertEquals ( ConfigDefault ( ) . data , Path . home ( ) . join ( "AppData/Local" ) ) ;
53+
54+ assertEquals ( ConfigDefault ( { XDG_CACHE_HOME : "C:\\foo" } ) . cache , Path . home ( ) . join ( "AppData/Local" ) ) ;
55+ assertEquals ( ConfigDefault ( ) . cache , Path . home ( ) . join ( "AppData/Local" ) ) ;
56+ break ;
57+ case 'darwin' :
58+ assertEquals ( ConfigDefault ( { XDG_DATA_HOME : "/foo" } ) . data , Path . home ( ) . join ( "Library/Application Support/pkgx" ) ) ;
59+ assertEquals ( ConfigDefault ( ) . data , Path . home ( ) . join ( "Library/Application Support/pkgx" ) ) ;
60+
61+ assertEquals ( ConfigDefault ( { XDG_CACHE_HOME : "/foo" } ) . cache , Path . home ( ) . join ( "Library/Caches/pkgx" ) ) ;
62+ assertEquals ( ConfigDefault ( ) . cache , Path . home ( ) . join ( "Library/Caches/pkgx" ) ) ;
63+ break ;
64+ case 'linux' :
65+ assertEquals ( ConfigDefault ( { XDG_DATA_HOME : "/foo" } ) . data , new Path ( "/foo/pkgx" ) ) ;
66+ assertEquals ( ConfigDefault ( ) . data , Path . home ( ) . join ( ".local/share/pkgx" ) ) ;
67+ break ;
68+ }
69+ } )
0 commit comments