summaryrefslogtreecommitdiffstats
path: root/telephony/tests
diff options
context:
space:
mode:
authorNicolas Catania <niko@google.com>2009-09-15 18:32:02 -0700
committerNicolas Catania <niko@google.com>2009-09-16 11:11:05 -0700
commit60d45f0f0320801a16db2ad038453c098e98966c (patch)
treec8f71ada93307d98f6192fd568bd244ac6734ada /telephony/tests
parent46ad796186bdca8bac75607340aa0fac0c34a9d8 (diff)
downloadframeworks_base-60d45f0f0320801a16db2ad038453c098e98966c.zip
frameworks_base-60d45f0f0320801a16db2ad038453c098e98966c.tar.gz
frameworks_base-60d45f0f0320801a16db2ad038453c098e98966c.tar.bz2
Added a field to track if the call is to a voicemail instance.
Refactored common code between CallerInfo and CallerInfoAsyncQuery that deal with voicemail number comparison. In CallerInfo.java added a new field mIsVoiceMail to indicate this is a voicemail call. Added a new method to convert the CallerInfo into a VM instance. Added a new method to generate a debug string from an instance. PhoneNumberUtils has a new method "isVoiceMailNumber" to check if a number is a VM one. I left the method as hidden. Previously any security exception failure was cached in a static variable. I removed that and privilege the optmistic scenario. I am not sure if the security exception is only for the 'regular' telephony layer and if it applies if a 3rd party VM app is installed (e.g googlevoice), hence i removed the cashing to make sure we can pick up new voicemail providers when installed/enabled/disabled. Bug:2112640
Diffstat (limited to 'telephony/tests')
-rw-r--r--telephony/tests/TelephonyTest/AndroidManifest.xml9
-rw-r--r--telephony/tests/TelephonyTest/src/com/android/telephonytest/TelephonyUnitTestRunner.java1
-rw-r--r--telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/CallerInfoUnitTest.java10
-rw-r--r--telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/PhoneNumberUtilsUnitTest.java63
4 files changed, 79 insertions, 4 deletions
diff --git a/telephony/tests/TelephonyTest/AndroidManifest.xml b/telephony/tests/TelephonyTest/AndroidManifest.xml
index c0cc0d5..b2a481b 100644
--- a/telephony/tests/TelephonyTest/AndroidManifest.xml
+++ b/telephony/tests/TelephonyTest/AndroidManifest.xml
@@ -28,8 +28,9 @@
</intent-filter>
</activity>
</application>
- <instrumentation android:name=".TelephonyUnitTestRunner"
- android:targetPackage="com.android.telephonytest"
- android:label="Telephony unit tests InstrumentationRunner">
- </instrumentation>
+ <instrumentation android:name=".TelephonyUnitTestRunner"
+ android:targetPackage="com.android.telephonytest"
+ android:label="Telephony unit tests InstrumentationRunner">
+ </instrumentation>
+ <uses-permission android:name="android.permission.READ_PHONE_STATE" />
</manifest>
diff --git a/telephony/tests/TelephonyTest/src/com/android/telephonytest/TelephonyUnitTestRunner.java b/telephony/tests/TelephonyTest/src/com/android/telephonytest/TelephonyUnitTestRunner.java
index 5da940d..9e1af31 100644
--- a/telephony/tests/TelephonyTest/src/com/android/telephonytest/TelephonyUnitTestRunner.java
+++ b/telephony/tests/TelephonyTest/src/com/android/telephonytest/TelephonyUnitTestRunner.java
@@ -37,6 +37,7 @@ public class TelephonyUnitTestRunner extends InstrumentationTestRunner {
public TestSuite getAllTests() {
TestSuite suite = new InstrumentationTestSuite(this);
suite.addTestSuite(com.android.telephonytest.unit.CallerInfoUnitTest.class);
+ suite.addTestSuite(com.android.telephonytest.unit.PhoneNumberUtilsUnitTest.class);
return suite;
}
diff --git a/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/CallerInfoUnitTest.java b/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/CallerInfoUnitTest.java
index 4cd0266..0f24f15 100644
--- a/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/CallerInfoUnitTest.java
+++ b/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/CallerInfoUnitTest.java
@@ -107,6 +107,16 @@ public class CallerInfoUnitTest extends AndroidTestCase {
assertIsValidEmergencyCallerInfo();
}
+ // TODO: Add more tests:
+ /**
+ * Check if the voice mail number cannot be retrieved that the
+ * original phone number is preserved.
+ */
+ /**
+ * Check the markAs* methods work.
+ */
+
+
//
// Helpers
//
diff --git a/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/PhoneNumberUtilsUnitTest.java b/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/PhoneNumberUtilsUnitTest.java
new file mode 100644
index 0000000..2d3c548
--- /dev/null
+++ b/telephony/tests/TelephonyTest/src/com/android/telephonytest/unit/PhoneNumberUtilsUnitTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.telephonytest.unit;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.util.Log;
+
+import android.telephony.PhoneNumberUtils;
+import android.telephony.TelephonyManager;
+
+/*
+ * Check the PhoneNumberUtils utility class works as expected.
+ *
+ */
+
+public class PhoneNumberUtilsUnitTest extends AndroidTestCase {
+ private String mVoiceMailNumber;
+ private static final String TAG = "PhoneNumberUtilsUnitTest";
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ // FIXME: Why are we getting a security exception here? The
+ // permission is declared in the manifest....
+ // mVoiceMailNumber = TelephonyManager.getDefault().getVoiceMailNumber();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ /**
+ * Basic checks for the VoiceMail number.
+ * Assumes READ_PHONE_STATE permission and we don't have it.
+ */
+ // TODO: Figure out why we don't have the permission declared in the manifest.
+ @SmallTest
+ public void testWithNumberNotEqualToVoiceMail() throws Exception {
+ assertFalse(PhoneNumberUtils.isVoiceMailNumber("911"));
+ assertFalse(PhoneNumberUtils.isVoiceMailNumber("tel:911"));
+ assertFalse(PhoneNumberUtils.isVoiceMailNumber("+18001234567"));
+ assertFalse(PhoneNumberUtils.isVoiceMailNumber(""));
+ assertFalse(PhoneNumberUtils.isVoiceMailNumber(null));
+ // FIXME:
+ // assertTrue(PhoneNumberUtils.isVoiceMailNumber(mVoiceMailNumber));
+ }
+
+}