diff options
| author | 2023-09-12 19:48:47 -0700 | |
|---|---|---|
| committer | 2023-09-12 19:57:02 -0700 | |
| commit | a7765dc1e6172a4b9a296c9788ebfa3be02ee230 (patch) | |
| tree | acc9cf0cf01f9fcd2a35b449d42ecfe546157597 /java/tests | |
| parent | 42fbb1defed76e2f712195b088c34fdff12a764e (diff) | |
PreviewDataProvider to close content resolver's cursors
Fix: 300182416
Test: atest IntentResolverUnitTests:PreviewDataProviderTest
Change-Id: If4ee654683ed3e58001c6c07840d86dc2e24a5fc
Diffstat (limited to 'java/tests')
| -rw-r--r-- | java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt index 6599baa9..4a8c1392 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt @@ -192,8 +192,9 @@ class PreviewDataProviderTest { val uri = Uri.parse("content://org.pkg.app/test.pdf") val targetIntent = Intent(Intent.ACTION_SEND).apply { putExtra(Intent.EXTRA_STREAM, uri) } whenever(contentResolver.getType(uri)).thenReturn("application/pdf") - whenever(contentResolver.query(uri, METADATA_COLUMNS, null, null)) - .thenReturn(MatrixCursor(columns).apply { addRow(values) }) + val cursor = MatrixCursor(columns).apply { addRow(values) } + whenever(contentResolver.query(uri, METADATA_COLUMNS, null, null)).thenReturn(cursor) + val testSubject = PreviewDataProvider(testScope, targetIntent, contentResolver, mimeTypeClassifier) @@ -202,6 +203,23 @@ class PreviewDataProviderTest { assertThat(testSubject.firstFileInfo?.uri).isEqualTo(uri) assertThat(testSubject.firstFileInfo?.previewUri).isNotNull() verify(contentResolver, times(1)).getType(any()) + assertThat(cursor.isClosed).isTrue() + } + + @Test + fun test_emptyQueryResult_cursorGetsClosed() { + val uri = Uri.parse("content://org.pkg.app/test.pdf") + val targetIntent = Intent(Intent.ACTION_SEND).apply { putExtra(Intent.EXTRA_STREAM, uri) } + whenever(contentResolver.getType(uri)).thenReturn("application/pdf") + val cursor = MatrixCursor(emptyArray()) + whenever(contentResolver.query(uri, METADATA_COLUMNS, null, null)).thenReturn(cursor) + + val testSubject = + PreviewDataProvider(testScope, targetIntent, contentResolver, mimeTypeClassifier) + + assertThat(testSubject.previewType).isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) + verify(contentResolver, times(1)).query(uri, METADATA_COLUMNS, null, null) + assertThat(cursor.isClosed).isTrue() } @Test |