@@ -440,7 +440,20 @@ public void LocalizedAssemblies_ShouldBeFastDeployed ()
440440 AssertCommercialBuild ( ) ;
441441 AssertHasDevices ( ) ;
442442
443- var proj = new XamarinAndroidApplicationProject {
443+ var path = Path . Combine ( "temp" , TestName ) ;
444+ var lib = new XamarinAndroidLibraryProject {
445+ ProjectName = "Localization" ,
446+ OtherBuildItems = {
447+ new BuildItem ( "EmbeddedResource" , "Bar.resx" ) {
448+ TextContent = ( ) => InlineData . ResxWithContents ( "<data name=\" CancelButton\" ><value>Cancel</value></data>" )
449+ } ,
450+ new BuildItem ( "EmbeddedResource" , "Bar.es.resx" ) {
451+ TextContent = ( ) => InlineData . ResxWithContents ( "<data name=\" CancelButton\" ><value>Cancelar</value></data>" )
452+ }
453+ }
454+ } ;
455+
456+ var app = new XamarinAndroidApplicationProject {
444457 EmbedAssembliesIntoApk = false ,
445458 OtherBuildItems = {
446459 new BuildItem ( "EmbeddedResource" , "Foo.resx" ) {
@@ -451,24 +464,26 @@ public void LocalizedAssemblies_ShouldBeFastDeployed ()
451464 }
452465 }
453466 } ;
467+ app . References . Add ( new BuildItem . ProjectReference ( $ "..\\ { lib . ProjectName } \\ { lib . ProjectName } .csproj", lib . ProjectName , lib . ProjectGuid ) ) ;
454468
455- using ( var builder = CreateApkBuilder ( ) ) {
456- Assert . IsTrue ( builder . Install ( proj ) , "Install should have succeeded." ) ;
457- var projectOutputPath = Path . Combine ( Root , builder . ProjectDirectory , proj . OutputPath ) ;
469+ using ( var libBuilder = CreateDllBuilder ( Path . Combine ( path , lib . ProjectName ) ) )
470+ using ( var appBuilder = CreateApkBuilder ( Path . Combine ( path , app . ProjectName ) ) ) {
471+ Assert . IsTrue ( libBuilder . Build ( lib ) , "Library Build should have succeeded." ) ;
472+ Assert . IsTrue ( appBuilder . Install ( app ) , "App Install should have succeeded." ) ;
473+ var projectOutputPath = Path . Combine ( Root , appBuilder . ProjectDirectory , app . OutputPath ) ;
458474 var resourceFilesFromDisk = Directory . EnumerateFiles ( projectOutputPath , "*.resources.dll" , SearchOption . AllDirectories )
459475 . Select ( r => r = r . Replace ( projectOutputPath , string . Empty ) . Replace ( "\\ " , "/" ) ) ;
460476
461477 var overrideContents = string . Empty ;
462- foreach ( var dir in GetOverrideDirectoryPaths ( proj . PackageName ) ) {
463- overrideContents += RunAdbCommand ( $ "shell run-as { proj . PackageName } find { dir } ") ;
478+ foreach ( var dir in GetOverrideDirectoryPaths ( app . PackageName ) ) {
479+ overrideContents += RunAdbCommand ( $ "shell run-as { app . PackageName } find { dir } ") ;
464480 }
465- builder . BuildLogFile = "uninstall.log" ;
466- builder . Uninstall ( proj ) ;
467481 Assert . IsTrue ( resourceFilesFromDisk . Any ( ) , $ "Unable to find any localized assemblies in { resourceFilesFromDisk } ") ;
468482 foreach ( var res in resourceFilesFromDisk ) {
469483 StringAssert . Contains ( res , overrideContents , $ "{ res } did not exist in the .__override__ directory.\n Found:{ overrideContents } ") ;
470484 }
471-
485+ appBuilder . BuildLogFile = "uninstall.log" ;
486+ appBuilder . Uninstall ( app ) ;
472487 }
473488 }
474489
0 commit comments