Skip to content

Commit

Permalink
Add ByteArray and List workarounds. (#623)
Browse files Browse the repository at this point in the history
* Add ByteArray and List workarounds.

* Fix spell.
  • Loading branch information
hotchemi committed Jun 9, 2019
1 parent e5a52e3 commit d248545
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 5 deletions.
Expand Up @@ -128,6 +128,9 @@ fun TypeName.correctJavaTypeToKotlinType(): TypeName {
"java.lang.Double" -> ClassName("kotlin", "Double")
"java.lang.Object" -> ClassName("kotlin", "Any")
"java.lang.String" -> ClassName("kotlin", "String")
// https://github.com/permissions-dispatcher/PermissionsDispatcher/issues/599
// https://github.com/permissions-dispatcher/PermissionsDispatcher/issues/619
"kotlin.ByteArray", "kotlin.collections.List" -> this
else -> this
}
}
Expand Down
Expand Up @@ -10,39 +10,39 @@ import org.mockito.Mockito.mock

class ExtensionsTest {
@Test
fun `java Byte is converted into kotlin Byte`() {
fun `java Byte being converted into kotlin Byte`() {
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("java.lang.Byte")
val expected = typeName.correctJavaTypeToKotlinType().toString()
assertEquals(expected, "kotlin.Byte")
}

@Test
fun `java Double is converted into kotlin Double`() {
fun `java Double being converted into kotlin Double`() {
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("java.lang.Double")
val expected = typeName.correctJavaTypeToKotlinType().toString()
assertEquals(expected, "kotlin.Double")
}

@Test
fun `java Object is converted into kotlin Any`() {
fun `java Object being converted into kotlin Any`() {
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("java.lang.Object")
val expected = typeName.correctJavaTypeToKotlinType().toString()
assertEquals(expected, "kotlin.Any")
}

@Test
fun `java String is converted into kotlin String`() {
fun `java String being converted into kotlin String`() {
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("java.lang.String")
val expected = typeName.correctJavaTypeToKotlinType().toString()
assertEquals(expected, "kotlin.String")
}

@Test
fun `java String in List is converted into kotlin String`() {
fun `java String in parameter being converted into kotlin String`() {
val parameterizedTypeName = mock(ParameterizedTypeName::class.java)
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("java.lang.String")
Expand All @@ -53,4 +53,20 @@ class ExtensionsTest {
expected.typeArguments.first().toString()
assertEquals( expected.typeArguments.first().toString(), "kotlin.String")
}

@Test
fun `kotlin ByteArray retains its type`() {
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("kotlin.ByteArray")
val expected = typeName.correctJavaTypeToKotlinType().toString()
assertEquals(expected, "kotlin.ByteArray")
}

@Test
fun `kotlin List retains its type`() {
val typeName = mock(TypeName::class.java)
`when`(typeName.toString()).thenReturn("kotlin.collections.List")
val expected = typeName.correctJavaTypeToKotlinType().toString()
assertEquals(expected, "kotlin.collections.List")
}
}

0 comments on commit d248545

Please sign in to comment.