Skip to content

Commit 238152b

Browse files
committed
Add a Unit Test
1 parent 50ecb36 commit 238152b

File tree

1 file changed

+27
-0
lines changed
  • src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks

1 file changed

+27
-0
lines changed

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Tasks/LinkerTests.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,33 @@ public void WarnAboutAppDomains ([Values (true, false)] bool isRelease)
192192
}
193193
}
194194

195+
[Test]
196+
public void RemoveDesigner ()
197+
{
198+
var proj = new XamarinAndroidApplicationProject {
199+
IsRelease = true,
200+
};
201+
proj.SetProperty ("AndroidEnableAssemblyCompression", "False");
202+
string assemblyName = proj.ProjectName;
203+
using (var b = CreateApkBuilder ()) {
204+
Assert.IsTrue (b.Build (proj), "build should have succeeded.");
205+
var apk = Path.Combine (Root, b.ProjectDirectory, proj.OutputPath, $"{proj.PackageName}.apk");
206+
FileAssert.Exists (apk);
207+
using (var zip = ZipHelper.OpenZip (apk)) {
208+
Assert.IsTrue (zip.ContainsEntry ($"assemblies/{assemblyName}.dll"), $"{assemblyName}.dll should exist in apk!");
209+
var entry = zip.ReadEntry ($"assemblies/{assemblyName}.dll");
210+
using (var stream = new MemoryStream ()) {
211+
entry.Extract (stream);
212+
stream.Position = 0;
213+
using (var assembly = AssemblyDefinition.ReadAssembly (stream)) {
214+
var type = assembly.MainModule.GetType ($"{assemblyName}.Resource");
215+
Assert.AreEqual (0, type.NestedTypes.Count, "All Nested Resource Types should be removed.");
216+
}
217+
}
218+
}
219+
}
220+
}
221+
195222
[Test]
196223
public void LinkDescription ()
197224
{

0 commit comments

Comments
 (0)