summaryrefslogtreecommitdiffstats
path: root/core/tests
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2011-09-15 09:33:06 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-15 09:33:06 -0700
commit04b08bdf19497c31abdef49100bfe471f8d104d6 (patch)
tree8239517a46ed1564a03f84381cca719245a26bb5 /core/tests
parent369711f89b251dd0136e7a2dc6a08b64d31af129 (diff)
parenta0f264e1afa3c0a00a5af0db362f884b122d978d (diff)
downloadframeworks_base-04b08bdf19497c31abdef49100bfe471f8d104d6.zip
frameworks_base-04b08bdf19497c31abdef49100bfe471f8d104d6.tar.gz
frameworks_base-04b08bdf19497c31abdef49100bfe471f8d104d6.tar.bz2
Merge "Be more forgiving in parsing verifier IDs"
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/src/android/content/pm/VerifierDeviceIdentityTest.java37
1 files changed, 33 insertions, 4 deletions
diff --git a/core/tests/coretests/src/android/content/pm/VerifierDeviceIdentityTest.java b/core/tests/coretests/src/android/content/pm/VerifierDeviceIdentityTest.java
index e6a6a26..cb13eb7 100644
--- a/core/tests/coretests/src/android/content/pm/VerifierDeviceIdentityTest.java
+++ b/core/tests/coretests/src/android/content/pm/VerifierDeviceIdentityTest.java
@@ -25,6 +25,8 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
private static final String TEST_1_ENCODED = "HUXY-A75N-FLKV-F";
+ private static final String TEST_1_ENCODED_LOWERCASE = "huxy-a75n-flkv-f";
+
private static final long TEST_2 = 0x5A05FF5A05F0A555L;
private static final long TEST_MAXVALUE = Long.MAX_VALUE;
@@ -45,6 +47,10 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
private static final String TEST_OVERFLOW_ENCODED = "QAAA-AAAA-AAAA-A";
+ private static final String TEST_SUBSTITUTION_CORRECTED = "OIIO-IIOO-IOOI-I";
+
+ private static final String TEST_SUBSTITUTION_UNCORRECTED = "0110-1100-1001-1";
+
public void testVerifierDeviceIdentity_Equals_Success() {
VerifierDeviceIdentity id1 = new VerifierDeviceIdentity(TEST_1);
VerifierDeviceIdentity id2 = new VerifierDeviceIdentity(TEST_1);
@@ -125,6 +131,7 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
assertEquals("Original identity and parceled identity should be the same", id1, id2);
}
+ @SuppressWarnings("serial")
private static class MockRandom extends Random {
private long mNextLong;
@@ -181,7 +188,7 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
public void testVerifierDeviceIdentity_Parse_TooShort() {
try {
- VerifierDeviceIdentity id = VerifierDeviceIdentity.parse("AAAA-AAAA-AAAA-");
+ VerifierDeviceIdentity.parse("AAAA-AAAA-AAAA-");
fail("Parsing should fail when device identifier is too short");
} catch (IllegalArgumentException e) {
// success
@@ -190,7 +197,7 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
public void testVerifierDeviceIdentity_Parse_WayTooShort() {
try {
- VerifierDeviceIdentity id = VerifierDeviceIdentity.parse("----------------");
+ VerifierDeviceIdentity.parse("----------------");
fail("Parsing should fail when device identifier is too short");
} catch (IllegalArgumentException e) {
// success
@@ -199,7 +206,7 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
public void testVerifierDeviceIdentity_Parse_TooLong() {
try {
- VerifierDeviceIdentity id = VerifierDeviceIdentity.parse("AAAA-AAAA-AAAA-AA");
+ VerifierDeviceIdentity.parse("AAAA-AAAA-AAAA-AA");
fail("Parsing should fail when device identifier is too long");
} catch (IllegalArgumentException e) {
// success
@@ -208,10 +215,32 @@ public class VerifierDeviceIdentityTest extends android.test.AndroidTestCase {
public void testVerifierDeviceIdentity_Parse_Overflow() {
try {
- VerifierDeviceIdentity id = VerifierDeviceIdentity.parse(TEST_OVERFLOW_ENCODED);
+ VerifierDeviceIdentity.parse(TEST_OVERFLOW_ENCODED);
fail("Parsing should fail when the value will overflow");
} catch (IllegalArgumentException e) {
// success
}
}
+
+ public void testVerifierDeviceIdentity_Parse_SquashToUppercase() {
+ VerifierDeviceIdentity id1 = new VerifierDeviceIdentity(TEST_1);
+
+ VerifierDeviceIdentity id2 = VerifierDeviceIdentity.parse(TEST_1_ENCODED_LOWERCASE);
+
+ assertEquals("Lowercase should parse to be the same as uppercase", id1, id2);
+
+ assertEquals("Substituted identity should render to the same string",
+ id1.toString(), id2.toString());
+ }
+
+ public void testVerifierDeviceIdentity_Parse_1I_And_0O_Substitution() {
+ VerifierDeviceIdentity id1 = VerifierDeviceIdentity.parse(TEST_SUBSTITUTION_CORRECTED);
+
+ VerifierDeviceIdentity id2 = VerifierDeviceIdentity.parse(TEST_SUBSTITUTION_UNCORRECTED);
+
+ assertEquals("Substitution should replace 0 with O and 1 with I", id1, id2);
+
+ assertEquals("Substituted identity should render to the same string",
+ id1.toString(), id2.toString());
+ }
}