aboutsummaryrefslogtreecommitdiffstats
path: root/sdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java')
-rwxr-xr-xsdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java133
1 files changed, 133 insertions, 0 deletions
diff --git a/sdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java b/sdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java
index b1db42b..9982bb7 100755
--- a/sdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java
+++ b/sdkstats/tests/com/android/sdkstats/SdkStatsServiceTest.java
@@ -306,6 +306,139 @@ public class SdkStatsServiceTest extends TestCase {
assertEquals("one3456789ten3456789twenty6789th", m.getOsName());
}
+ public void testSdkStatsService_parseVersion() {
+ // Tests that the version parses supports the new "major.minor.micro rcPreview" format
+ // as well as "x.y.z.t" formats as well as Eclipse's "x.y.z.v2012somedate" formats.
+
+ MockSdkStatsService m;
+ m = new MockSdkStatsService("Windows", "6.2", "x86_64", "1.7.8_09");
+
+ m.ping("monitor", "21");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.0.0.0&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ m.ping("monitor", "21.1");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.1.0.0&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ m.ping("monitor", "21.2.03");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.2.3.0&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ m.ping("monitor", "21.2.3.4");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.2.3.4&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ // More than 4 parts or extra stuff that is not an "rc" preview are ignored.
+ m.ping("monitor", "21.2.3.4.5.6.7.8");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.2.3.4&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ m.ping("monitor", "21.2.3.4.v20120101 the rest is ignored");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.2.3.4&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ // If the "rc" preview integer is present, it's equivalent to a 4th number.
+ m.ping("monitor", "21 rc4");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.0.0.4&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ m.ping("monitor", "21.01 rc5");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.1.0.5&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ m.ping("monitor", "21.02.03 rc6");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.2.3.6&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ // If there's a 4-part version number, the rc preview number isn't used.
+ m.ping("monitor", "21.2.3.4 rc7");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_monitor&" +
+ "id=42&" +
+ "version=21.2.3.4&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+
+ // For Eclipse plugins, the 4th part might be a date. It is ignored.
+ m.ping("eclipse", "21.2.3.v20120102235958");
+ assertEquals(
+ "http://tools.google.com/service/update?" +
+ "as=androidsdk_eclipse&" +
+ "id=42&" +
+ "version=21.2.3.0&" +
+ "os=win-6.2&" +
+ "osa=x86_64&" +
+ "vma=1.7-x86_64",
+ m.getPingUrlResult().toString());
+ }
+
public void testSdkStatsService_glPing() {
MockSdkStatsService m;
m = new MockSdkStatsService("Windows", "6.2", "x86_64", "1.7.8_09");