mirror of https://github.com/nextcloud/android
76 lines
2.7 KiB
Kotlin
76 lines
2.7 KiB
Kotlin
/*
|
|
* Nextcloud - Android Client
|
|
*
|
|
* SPDX-FileCopyrightText: 2024 Alper Ozturk <alper_ozturk@proton.me>
|
|
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
package com.nextcloud.extensions
|
|
|
|
import android.content.Intent
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
|
import com.nextcloud.test.model.OtherTestData
|
|
import com.nextcloud.test.model.TestData
|
|
import com.nextcloud.test.model.TestDataParcelable
|
|
import com.nextcloud.utils.extensions.getParcelableArgument
|
|
import com.nextcloud.utils.extensions.getSerializableArgument
|
|
import org.junit.Assert.assertEquals
|
|
import org.junit.Assert.assertNull
|
|
import org.junit.Test
|
|
import org.junit.runner.RunWith
|
|
|
|
@Suppress("FunctionNaming")
|
|
@RunWith(AndroidJUnit4::class)
|
|
class IntentExtensionTests {
|
|
|
|
private val key = "testDataKey"
|
|
|
|
@Test
|
|
fun test_get_serializable_argument_when_given_valid_intent_should_return_expected_data() {
|
|
val intent = Intent()
|
|
val testObject = TestData("Hello")
|
|
intent.putExtra(key, testObject)
|
|
val retrievedObject = intent.getSerializableArgument(key, TestData::class.java)
|
|
assertEquals(testObject, retrievedObject)
|
|
}
|
|
|
|
@Test
|
|
fun test_get_serializable_argument_when_given_valid_intent_and_wrong_class_type_should_return_null() {
|
|
val intent = Intent()
|
|
val testObject = TestData("Hello")
|
|
intent.putExtra(key, testObject)
|
|
val retrievedObject = intent.getSerializableArgument(key, Array<String>::class.java)
|
|
assertNull(retrievedObject)
|
|
}
|
|
|
|
@Test
|
|
fun test_get_parcelable_argument_when_given_valid_intent_and_wrong_class_type_should_return_null() {
|
|
val intent = Intent()
|
|
val testObject = TestData("Hello")
|
|
intent.putExtra(key, testObject)
|
|
val retrievedObject = intent.getParcelableArgument(key, OtherTestData::class.java)
|
|
assertNull(retrievedObject)
|
|
}
|
|
|
|
@Test
|
|
fun test_get_parcelable_argument_when_given_valid_intent_should_return_expected_data() {
|
|
val intent = Intent()
|
|
val testObject = TestDataParcelable("Hello")
|
|
intent.putExtra(key, testObject)
|
|
val retrievedObject = intent.getParcelableArgument(key, TestDataParcelable::class.java)
|
|
assertEquals(testObject, retrievedObject)
|
|
}
|
|
|
|
@Test
|
|
fun test_get_serializable_argument_when_given_null_intent_should_return_null() {
|
|
val retrievedObject = (null as Intent?).getSerializableArgument(key, TestData::class.java)
|
|
assertNull(retrievedObject)
|
|
}
|
|
|
|
@Test
|
|
fun test_get_parcelable_argument_when_given_null_intent_should_return_null() {
|
|
val retrievedObject = (null as Intent?).getParcelableArgument(key, TestDataParcelable::class.java)
|
|
assertNull(retrievedObject)
|
|
}
|
|
}
|