summaryrefslogtreecommitdiff
path: root/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java')
-rw-r--r--tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java42
1 files changed, 37 insertions, 5 deletions
diff --git a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java
index fb9a81a..0ceb684 100644
--- a/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java
+++ b/tests/src/com/android/providers/blockednumber/BlockedNumberProviderTest.java
@@ -19,6 +19,7 @@ import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
+import android.database.ContentObserver;
import android.database.Cursor;
import android.database.sqlite.SQLiteConstraintException;
import android.database.sqlite.SQLiteException;
@@ -29,6 +30,9 @@ import android.test.AndroidTestCase;
import android.test.MoreAsserts;
import junit.framework.Assert;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
/**
* m BlockedNumberProviderTest && adb install -r
* ${ANDROID_PRODUCT_OUT}/data/app/BlockedNumberProviderTest/BlockedNumberProviderTest.apk && adb
@@ -40,7 +44,9 @@ public class BlockedNumberProviderTest extends AndroidTestCase {
private MyMockContext mMockContext;
private ContentResolver mResolver;
- /** Whether the country detector thinks the device is in USA. */
+ /**
+ * Whether the country detector thinks the device is in USA.
+ */
private boolean mInUSA;
@Override
@@ -66,7 +72,7 @@ public class BlockedNumberProviderTest extends AndroidTestCase {
final ContentValues ret = new ContentValues();
for (int i = 1; i < namesAndValues.length; i += 2) {
final String name = namesAndValues[i - 1].toString();
- final Object value = namesAndValues[i];
+ final Object value = namesAndValues[i];
if (value == null) {
ret.putNull(name);
} else if (value instanceof String) {
@@ -104,7 +110,6 @@ public class BlockedNumberProviderTest extends AndroidTestCase {
insertExpectingFailure(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, null));
insertExpectingFailure(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, ""));
insertExpectingFailure(cv(BlockedNumbers.COLUMN_ID, 1));
- insertExpectingFailure(cv(BlockedNumbers.COLUMN_STRIPPED_NUMBER, 1));
insertExpectingFailure(cv(BlockedNumbers.COLUMN_E164_NUMBER, "1"));
insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "123"));
@@ -128,6 +133,30 @@ public class BlockedNumberProviderTest extends AndroidTestCase {
// TODO Check the table content.
}
+ public void testChangesNotified() throws Exception {
+ Cursor c = mResolver.query(BlockedNumbers.CONTENT_URI, null, null, null, null);
+
+ final CountDownLatch latch = new CountDownLatch(2);
+ ContentObserver contentObserver = new ContentObserver(null) {
+ @Override
+ public void onChange(boolean selfChange) {
+ Assert.assertFalse(selfChange);
+ latch.notify();
+ }
+ };
+ c.registerContentObserver(contentObserver);
+
+ try {
+ Uri uri = insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "14506507000"));
+ mResolver.delete(uri, null, null);
+ latch.await(10, TimeUnit.SECONDS);
+ } catch (Exception e) {
+ fail(e.toString());
+ } finally {
+ c.unregisterContentObserver(contentObserver);
+ }
+ }
+
private Uri insert(ContentValues cv) {
final Uri uri = mResolver.insert(BlockedNumbers.CONTENT_URI, cv);
assertNotNull(uri);
@@ -210,16 +239,19 @@ public class BlockedNumberProviderTest extends AndroidTestCase {
insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "1-500-454-2222"));
insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "045-111-2222",
- BlockedNumbers.COLUMN_E164_NUMBER, "+81-45-111-2222"));
+ BlockedNumbers.COLUMN_E164_NUMBER, "+81451112222"));
insert(cv(BlockedNumbers.COLUMN_ORIGINAL_NUMBER, "abc.def@gmail.com"));
// Check
+ assertIsBlocked(false, "");
+ assertIsBlocked(false, null);
assertIsBlocked(true, "123");
assertIsBlocked(false, "1234");
assertIsBlocked(true, "+81451112222");
assertIsBlocked(true, "+81 45 111 2222");
- assertIsBlocked(true, "045 111 2222");
+ assertIsBlocked(true, "045-111-2222");
+ assertIsBlocked(false, "045 111 2222");
if (mInUSA) {
// Probably won't work outside of the +1 region.