|
|
|
@ -7,7 +7,13 @@ package org.mozilla.fenix.utils
|
|
|
|
|
import android.content.ClipData
|
|
|
|
|
import android.content.ClipboardManager
|
|
|
|
|
import android.content.Context
|
|
|
|
|
import io.mockk.every
|
|
|
|
|
import io.mockk.mockkObject
|
|
|
|
|
import io.mockk.spyk
|
|
|
|
|
import io.mockk.unmockkObject
|
|
|
|
|
import io.mockk.verify
|
|
|
|
|
import mozilla.components.support.test.robolectric.testContext
|
|
|
|
|
import mozilla.components.support.utils.SafeUrl
|
|
|
|
|
import org.junit.Assert.assertEquals
|
|
|
|
|
import org.junit.Before
|
|
|
|
|
import org.junit.Test
|
|
|
|
@ -59,4 +65,33 @@ class ClipboardHandlerTest {
|
|
|
|
|
clipboard.setPrimaryClip(ClipData.newHtmlText("Html", clipboardUrl, clipboardUrl))
|
|
|
|
|
assertEquals(clipboardUrl, clipboardHandler.url)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `text should return firstSafePrimaryClipItemText`() {
|
|
|
|
|
val safeResult = "safeResult"
|
|
|
|
|
clipboard.setPrimaryClip(ClipData.newPlainText(clipboardUrl, clipboardText))
|
|
|
|
|
clipboardHandler = spyk(clipboardHandler)
|
|
|
|
|
every { clipboardHandler getProperty "firstSafePrimaryClipItemText" } propertyType String::class returns safeResult
|
|
|
|
|
|
|
|
|
|
val result = clipboardHandler.text
|
|
|
|
|
|
|
|
|
|
verify { clipboardHandler getProperty "firstSafePrimaryClipItemText" }
|
|
|
|
|
assertEquals(safeResult, result)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun `firstSafePrimaryClipItemText should return the result of SafeUrl#stripUnsafeUrlSchemes`() {
|
|
|
|
|
mockkObject(SafeUrl)
|
|
|
|
|
try {
|
|
|
|
|
every { SafeUrl.stripUnsafeUrlSchemes(any(), any()) } returns "safeResult"
|
|
|
|
|
clipboard.setPrimaryClip(ClipData.newHtmlText("Html", clipboardUrl, clipboardUrl))
|
|
|
|
|
|
|
|
|
|
val result = clipboardHandler.firstSafePrimaryClipItemText
|
|
|
|
|
|
|
|
|
|
verify { SafeUrl.stripUnsafeUrlSchemes(testContext, clipboardUrl) }
|
|
|
|
|
assertEquals("safeResult", result)
|
|
|
|
|
} finally {
|
|
|
|
|
unmockkObject(SafeUrl)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|