Skip to content

Commit 8b13954

Browse files
committed
Added unit tests
1 parent 84c2911 commit 8b13954

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidAppManifestTests.cs

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Diagnostics;
44
using System.IO;
@@ -172,5 +172,45 @@ public void CanGetAppTheme ()
172172

173173
Assert.AreEqual ("@android:style/Theme.Material.Light", manifest.ApplicationTheme);
174174
}
175+
176+
[Test]
177+
public void CanAddAndRemoveUsesSdk ()
178+
{
179+
XNamespace aNS = "http://schemas.android.com/apk/res/android";
180+
var versions = new AndroidVersions (new AndroidVersion [0]);
181+
var doc = XDocument.Parse (@"
182+
<manifest xmlns:android=""http://schemas.android.com/apk/res/android"" android:versionCode=""1"" android:versionName=""1.0"" package=""com.xamarin.Foo"">
183+
<uses-sdk android:minSdkVersion=""8"" android:targetSdkVersion=""12"" />
184+
<application android:label=""Foo"" android:icon=""@drawable/ic_icon"" android:theme=""@android:style/Theme.Material.Light"">
185+
</application>
186+
</manifest>");
187+
var manifest = AndroidAppManifest.Load (doc, versions);
188+
189+
manifest.MinSdkVersion = null;
190+
manifest.TargetSdkVersion = null;
191+
192+
var sb = new StringBuilder ();
193+
using (var writer = XmlWriter.Create (sb)) {
194+
manifest.Write (writer);
195+
}
196+
197+
var newDoc = XDocument.Parse (sb.ToString ());
198+
var usesSdk = newDoc.Element ("manifest").Element ("uses-sdk");
199+
Assert.IsNull (usesSdk, "uses-sdk should not exist");
200+
201+
manifest.MinSdkVersion = 8;
202+
manifest.TargetSdkVersion = 12;
203+
204+
sb = new StringBuilder ();
205+
using (var writer = XmlWriter.Create (sb)) {
206+
manifest.Write (writer);
207+
}
208+
209+
newDoc = XDocument.Parse (sb.ToString ());
210+
usesSdk = newDoc.Element ("manifest").Element ("uses-sdk");
211+
Assert.IsNotNull (usesSdk, "uses-sdk should exist");
212+
Assert.AreEqual ("8", usesSdk.Attribute (aNS + "minSdkVersion").Value);
213+
Assert.AreEqual ("12", usesSdk.Attribute (aNS + "targetSdkVersion").Value);
214+
}
175215
}
176216
}

0 commit comments

Comments
 (0)