repo created
This commit is contained in:
commit
1ef725ef20
2483 changed files with 278273 additions and 0 deletions
|
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* Nextcloud - Android Client
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2021 Álvaro Brey <alvaro@alvarobrey.com>
|
||||
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
package com.owncloud.android.datamodel
|
||||
|
||||
import android.content.ContentResolver
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.filters.SdkSuppress
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.mockito.kotlin.argThat
|
||||
import org.mockito.kotlin.eq
|
||||
import org.mockito.kotlin.verify
|
||||
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class ContentResolverHelperIT {
|
||||
|
||||
companion object {
|
||||
private val URI = Uri.parse("http://foo.bar")
|
||||
private val PROJECTION = arrayOf("Foo")
|
||||
private const val SELECTION = "selection"
|
||||
private const val SORT_COLUMN = "sortColumn"
|
||||
private const val SORT_DIRECTION = ContentResolverHelper.SORT_DIRECTION_ASCENDING
|
||||
private const val SORT_DIRECTION_INT = ContentResolver.QUERY_SORT_DIRECTION_ASCENDING
|
||||
private const val LIMIT = 10
|
||||
}
|
||||
|
||||
@Mock
|
||||
lateinit var resolver: ContentResolver
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
|
||||
fun contentResolver_onAndroid26_usesNewAPI() {
|
||||
ContentResolverHelper
|
||||
.queryResolver(resolver, URI, PROJECTION, SELECTION, null, SORT_COLUMN, SORT_DIRECTION, LIMIT)
|
||||
|
||||
verify(resolver).query(
|
||||
eq(URI),
|
||||
eq(PROJECTION),
|
||||
argThat { bundle ->
|
||||
bundle.getString(ContentResolver.QUERY_ARG_SQL_SELECTION) == SELECTION &&
|
||||
bundle.getInt(ContentResolver.QUERY_ARG_LIMIT) == LIMIT &&
|
||||
bundle.getStringArray(ContentResolver.QUERY_ARG_SORT_COLUMNS)!!
|
||||
.contentEquals(arrayOf(SORT_COLUMN)) &&
|
||||
bundle.getInt(ContentResolver.QUERY_ARG_SORT_DIRECTION) == SORT_DIRECTION_INT
|
||||
},
|
||||
null
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
@SdkSuppress(maxSdkVersion = Build.VERSION_CODES.N_MR1)
|
||||
fun contentResolver_onAndroidBelow26_usesOldAPI() {
|
||||
ContentResolverHelper
|
||||
.queryResolver(resolver, URI, PROJECTION, SELECTION, null, SORT_COLUMN, SORT_DIRECTION, LIMIT)
|
||||
|
||||
verify(resolver).query(
|
||||
eq(URI),
|
||||
eq(PROJECTION),
|
||||
eq(SELECTION),
|
||||
eq(null),
|
||||
eq("$SORT_COLUMN $SORT_DIRECTION LIMIT $LIMIT"),
|
||||
eq(null)
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue