11using System ;
2+ using System . Collections . Generic ;
23using System . Diagnostics ;
34using System . IO ;
45using System . Linq ;
@@ -2198,7 +2199,8 @@ public void IfAndroidJarDoesNotExistThrowXA5207 ()
21982199 public void ValidateUseLatestAndroid ( )
21992200 {
22002201 var path = Path . Combine ( "temp" , TestName ) ;
2201- var referencesPath = CreateFauxReferencesDirectory ( Path . Combine ( path , "xbuild-frameworks" ) , new ApiInfo [ ] {
2202+ var referencesPath = CreateFauxReferencesDirectory ( Path . Combine ( path , "xbuild-frameworks" ) , new ApiInfo [ ] {
2203+ new ApiInfo ( ) { Id = 23 , Level = 23 , Name = "Marshmallow" , FrameworkVersion = "v6.0" , Stable = true } ,
22022204 new ApiInfo ( ) { Id = 26 , Level = 26 , Name = "Oreo" , FrameworkVersion = "v8.0" , Stable = true } ,
22032205 new ApiInfo ( ) { Id = 27 , Level = 27 , Name = "Oreo" , FrameworkVersion = "v8.1" , Stable = false } ,
22042206 } ) ;
@@ -2207,33 +2209,36 @@ public void ValidateUseLatestAndroid ()
22072209 TargetFrameworkVersion = "v8.0" ,
22082210 UseLatestPlatformSdk = false ,
22092211 } ;
2212+ var targetFramework = new string [ ] {
2213+ $ "TargetFrameworkRootPath={ referencesPath } ",
2214+ } ;
2215+ var envVar = new Dictionary < string , string > {
2216+ { "XBUILD_FRAMEWORK_FOLDERS_PATH" , referencesPath } ,
2217+ } ;
22102218 using ( var builder = CreateApkBuilder ( Path . Combine ( path , proj . ProjectName ) ) ) {
22112219 builder . ThrowOnBuildFailure = false ;
22122220 builder . Target = "_SetLatestTargetFrameworkVersion" ;
2213- Assert . True ( builder . Build ( proj , parameters : new string [ ] {
2214- $ "TargetFrameworkRootPath={ referencesPath } ",
2215- } ) , string . Format ( "Build should have succeeded" ) ) ;
2216- Assert . IsTrue ( builder . LastBuildOutput . ContainsText ( "_TargetFrameworkVersion=v8.0" ) , "_TargetFrameworkVersion should be v8.0" ) ;
2221+ Assert . True ( builder . Build ( proj , parameters : targetFramework , environmentVariables : envVar ) ,
2222+ string . Format ( "First Build should have succeeded" ) ) ;
2223+ Assert . IsTrue ( builder . LastBuildOutput . ContainsOccurances ( "TargetFrameworkVersion: v8.0" , 2 ) , "TargetFrameworkVersion should be v8.0" ) ;
22172224
22182225 proj . TargetFrameworkVersion = "v8.1" ;
2219- Assert . True ( builder . Build ( proj , parameters : new string [ ] {
2220- $ "TargetFrameworkRootPath={ referencesPath } ",
2221- } ) , string . Format ( "Build should have succeeded" ) ) ;
2222- Assert . IsTrue ( builder . LastBuildOutput . ContainsText ( "_TargetFrameworkVersion=v8.1" ) , "_TargetFrameworkVersion should be v8.1" ) ;
2226+ Assert . True ( builder . Build ( proj , parameters : targetFramework , environmentVariables : envVar ) ,
2227+ string . Format ( "Second Build should have succeeded" ) ) ;
2228+ Assert . IsTrue ( builder . LastBuildOutput . ContainsOccurances ( "TargetFrameworkVersion: v8.1" , 2 ) , "TargetFrameworkVersion should be v8.1" ) ;
22232229
22242230 proj . UseLatestPlatformSdk = true ;
22252231 proj . TargetFrameworkVersion = "v8.1" ;
2226- Assert . True ( builder . Build ( proj , parameters : new string [ ] {
2227- $ "TargetFrameworkRootPath={ referencesPath } ",
2228- } ) , string . Format ( "Build should have succeeded" ) ) ;
2229- Assert . IsTrue ( builder . LastBuildOutput . ContainsText ( "_TargetFrameworkVersion=v8.1" ) , "_TargetFrameworkVersion should be v8.1" ) ;
2232+ Assert . True ( builder . Build ( proj , parameters : targetFramework , environmentVariables : envVar ) ,
2233+ string . Format ( "Third Build should have succeeded" ) ) ;
2234+ Assert . IsTrue ( builder . LastBuildOutput . ContainsOccurances ( "TargetFrameworkVersion: v8.1" , 2 ) , "TargetFrameworkVersion should be v8.1" ) ;
22302235
22312236 proj . UseLatestPlatformSdk = true ;
22322237 proj . TargetFrameworkVersion = "v6.0" ;
2233- Assert . True ( builder . Build ( proj , parameters : new string [ ] {
2234- $ "TargetFrameworkRootPath= { referencesPath } " ,
2235- } ) , string . Format ( "Build should have succeeded" ) ) ;
2236- Assert . IsTrue ( builder . LastBuildOutput . ContainsText ( "_TargetFrameworkVersion= v8.0" ) , "_TargetFrameworkVersion should be v8.0" ) ;
2238+ Assert . True ( builder . Build ( proj , parameters : targetFramework , environmentVariables : envVar ) ,
2239+ string . Format ( "Forth Build should have succeeded" ) ) ;
2240+ Assert . IsTrue ( builder . LastBuildOutput . ContainsOccurances ( "TargetFrameworkVersion: v6.0" , 1 ) , "TargetFrameworkVersion should initially be v6.0" ) ;
2241+ Assert . IsTrue ( builder . LastBuildOutput . ContainsOccurances ( "TargetFrameworkVersion: v8.0" , 1 ) , "TargetFrameworkVersion should be v8.0" ) ;
22372242
22382243
22392244 }
0 commit comments