diff --git a/tests/MSBuildDeviceIntegration/Tests/InstallTests.cs b/tests/MSBuildDeviceIntegration/Tests/InstallTests.cs
index d33300a2081..7deaa229b29 100644
--- a/tests/MSBuildDeviceIntegration/Tests/InstallTests.cs
+++ b/tests/MSBuildDeviceIntegration/Tests/InstallTests.cs
@@ -440,7 +440,20 @@ public void LocalizedAssemblies_ShouldBeFastDeployed ()
AssertCommercialBuild ();
AssertHasDevices ();
- var proj = new XamarinAndroidApplicationProject {
+ var path = Path.Combine ("temp", TestName);
+ var lib = new XamarinAndroidLibraryProject {
+ ProjectName = "Localization",
+ OtherBuildItems = {
+ new BuildItem ("EmbeddedResource", "Bar.resx") {
+ TextContent = () => InlineData.ResxWithContents ("Cancel")
+ },
+ new BuildItem ("EmbeddedResource", "Bar.es.resx") {
+ TextContent = () => InlineData.ResxWithContents ("Cancelar")
+ }
+ }
+ };
+
+ var app = new XamarinAndroidApplicationProject {
EmbedAssembliesIntoApk = false,
OtherBuildItems = {
new BuildItem ("EmbeddedResource", "Foo.resx") {
@@ -451,24 +464,26 @@ public void LocalizedAssemblies_ShouldBeFastDeployed ()
}
}
};
+ app.References.Add (new BuildItem.ProjectReference ($"..\\{lib.ProjectName}\\{lib.ProjectName}.csproj", lib.ProjectName, lib.ProjectGuid));
- using (var builder = CreateApkBuilder ()) {
- Assert.IsTrue (builder.Install (proj), "Install should have succeeded.");
- var projectOutputPath = Path.Combine (Root, builder.ProjectDirectory, proj.OutputPath);
+ using (var libBuilder = CreateDllBuilder (Path.Combine (path, lib.ProjectName)))
+ using (var appBuilder = CreateApkBuilder (Path.Combine (path, app.ProjectName))) {
+ Assert.IsTrue (libBuilder.Build (lib), "Library Build should have succeeded.");
+ Assert.IsTrue (appBuilder.Install (app), "App Install should have succeeded.");
+ var projectOutputPath = Path.Combine (Root, appBuilder.ProjectDirectory, app.OutputPath);
var resourceFilesFromDisk = Directory.EnumerateFiles (projectOutputPath, "*.resources.dll", SearchOption.AllDirectories)
.Select (r => r = r.Replace (projectOutputPath, string.Empty).Replace ("\\", "/"));
var overrideContents = string.Empty;
- foreach (var dir in GetOverrideDirectoryPaths (proj.PackageName)) {
- overrideContents += RunAdbCommand ($"shell run-as {proj.PackageName} find {dir}");
+ foreach (var dir in GetOverrideDirectoryPaths (app.PackageName)) {
+ overrideContents += RunAdbCommand ($"shell run-as {app.PackageName} find {dir}");
}
- builder.BuildLogFile = "uninstall.log";
- builder.Uninstall (proj);
Assert.IsTrue (resourceFilesFromDisk.Any (), $"Unable to find any localized assemblies in {resourceFilesFromDisk}");
foreach (var res in resourceFilesFromDisk) {
StringAssert.Contains (res, overrideContents, $"{res} did not exist in the .__override__ directory.\nFound:{overrideContents}");
}
-
+ appBuilder.BuildLogFile = "uninstall.log";
+ appBuilder.Uninstall (app);
}
}