1 package com.android.contacts.util;
2 
3 import android.net.Uri;
4 import android.test.AndroidTestCase;
5 
6 import androidx.test.filters.SmallTest;
7 
8 /**
9  * Test cases for {@link ContactPhotoUtils}.
10  *
11  * adb shell am instrument -w -e class com.android.contacts.util.ContactPhotoUtilsTest \
12  *   com.android.contacts.tests/android.test.InstrumentationTestRunner
13  */
14 @SmallTest
15 public class ContactPhotoUtilsTest extends AndroidTestCase {
16 
17   private Uri tempUri;
18 
19   @Override
setUp()20   protected void setUp() throws Exception {
21     tempUri = ContactPhotoUtils.generateTempImageUri(getContext());
22   }
23 
tearDown()24   protected void tearDown() throws Exception {
25     getContext().getContentResolver().delete(tempUri, null, null);
26   }
27 
testFileUriDataPathFails()28   public void testFileUriDataPathFails() {
29     String filePath =
30         "file:///data/data/com.android.contacts/shared_prefs/com.android.contacts.xml";
31 
32     assertFalse(
33         ContactPhotoUtils.savePhotoFromUriToUri(getContext(), Uri.parse(filePath), tempUri, false));
34   }
35 
testFileUriCanonicalDataPathFails()36   public void testFileUriCanonicalDataPathFails() {
37     String filePath =
38         "file:///storage/../data/data/com.android.contacts/shared_prefs/com.android.contacts.xml";
39 
40     assertFalse(
41         ContactPhotoUtils.savePhotoFromUriToUri(getContext(), Uri.parse(filePath), tempUri, false));
42   }
43 
testContentUriInternalPasses()44   public void testContentUriInternalPasses() {
45     Uri internal = ContactPhotoUtils.generateTempImageUri(getContext());
46 
47     assertTrue(
48         ContactPhotoUtils.savePhotoFromUriToUri(getContext(), internal, tempUri, true));
49   }
50 }
51