mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2026-04-19 13:21:22 +00:00
Merge pull request #4947 from Isira-Seneviratne/Convert_ExceptionUtils_to_extensions
Rewrite ExceptionUtils methods as extension functions.
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package org.schabi.newpipe.ktx
|
||||
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import java.io.IOException
|
||||
import java.io.InterruptedIOException
|
||||
import java.net.SocketException
|
||||
import javax.net.ssl.SSLException
|
||||
|
||||
class ThrowableExtensionsTest {
|
||||
@Test fun `assignable causes`() {
|
||||
assertTrue(Throwable().hasAssignableCause<Throwable>())
|
||||
assertTrue(Exception().hasAssignableCause<Exception>())
|
||||
assertTrue(IOException().hasAssignableCause<Exception>())
|
||||
|
||||
assertTrue(IOException().hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(SocketException()).hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException()).hasAssignableCause<RuntimeException>())
|
||||
assertTrue(Exception(Exception(IOException())).hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(IOException()))).hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(SocketException()))).hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(SSLException("IO")))).hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasAssignableCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasAssignableCause<RuntimeException>())
|
||||
|
||||
assertTrue(IllegalStateException().hasAssignableCause<Throwable>())
|
||||
assertTrue(IllegalStateException().hasAssignableCause<Exception>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasAssignableCause<InterruptedIOException>())
|
||||
}
|
||||
|
||||
@Test fun `no assignable causes`() {
|
||||
assertFalse(Throwable().hasAssignableCause<Exception>())
|
||||
assertFalse(Exception().hasAssignableCause<IOException>())
|
||||
assertFalse(Exception(IllegalStateException()).hasAssignableCause<IOException>())
|
||||
assertFalse(Exception(NullPointerException()).hasAssignableCause<IOException>())
|
||||
assertFalse(Exception(IllegalStateException(Exception(Exception()))).hasAssignableCause<IOException>())
|
||||
assertFalse(Exception(IllegalStateException(Exception(SocketException()))).hasAssignableCause<InterruptedIOException>())
|
||||
assertFalse(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasAssignableCause<InterruptedException>())
|
||||
}
|
||||
|
||||
@Test fun `exact causes`() {
|
||||
assertTrue(Throwable().hasExactCause<Throwable>())
|
||||
assertTrue(Exception().hasExactCause<Exception>())
|
||||
|
||||
assertTrue(IOException().hasExactCause<IOException>())
|
||||
assertTrue(Exception(SocketException()).hasExactCause<SocketException>())
|
||||
assertTrue(Exception(Exception(IOException())).hasExactCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(IOException()))).hasExactCause<IOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(SocketException()))).hasExactCause<SocketException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(SSLException("IO")))).hasExactCause<SSLException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasExactCause<InterruptedIOException>())
|
||||
assertTrue(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasExactCause<IllegalStateException>())
|
||||
}
|
||||
|
||||
@Test fun `no exact causes`() {
|
||||
assertFalse(Throwable().hasExactCause<Exception>())
|
||||
assertFalse(Exception().hasExactCause<Throwable>())
|
||||
|
||||
assertFalse(SocketException().hasExactCause<IOException>())
|
||||
assertFalse(IllegalStateException().hasExactCause<RuntimeException>())
|
||||
assertFalse(Exception(SocketException()).hasExactCause<IOException>())
|
||||
assertFalse(Exception(IllegalStateException(Exception(IOException()))).hasExactCause<RuntimeException>())
|
||||
assertFalse(Exception(IllegalStateException(Exception(SocketException()))).hasExactCause<IOException>())
|
||||
assertFalse(Exception(IllegalStateException(Exception(InterruptedIOException()))).hasExactCause<IOException>())
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
package org.schabi.newpipe.util
|
||||
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import org.schabi.newpipe.util.ExceptionUtils.Companion.hasAssignableCause
|
||||
import org.schabi.newpipe.util.ExceptionUtils.Companion.hasExactCause
|
||||
import java.io.IOException
|
||||
import java.io.InterruptedIOException
|
||||
import java.net.SocketException
|
||||
import javax.net.ssl.SSLException
|
||||
|
||||
class ExceptionUtilsTest {
|
||||
@Test fun `assignable causes`() {
|
||||
assertTrue(hasAssignableCause(Throwable(), Throwable::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(), Exception::class.java))
|
||||
assertTrue(hasAssignableCause(IOException(), Exception::class.java))
|
||||
|
||||
assertTrue(hasAssignableCause(IOException(), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(SocketException()), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException()), RuntimeException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(Exception(IOException())), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException(Exception(IOException()))), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException(Exception(SocketException()))), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException(Exception(SSLException("IO")))), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), IOException::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), RuntimeException::class.java))
|
||||
|
||||
assertTrue(hasAssignableCause(IllegalStateException(), Throwable::class.java))
|
||||
assertTrue(hasAssignableCause(IllegalStateException(), Exception::class.java))
|
||||
assertTrue(hasAssignableCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), InterruptedIOException::class.java))
|
||||
}
|
||||
|
||||
@Test fun `no assignable causes`() {
|
||||
assertFalse(hasAssignableCause(Throwable(), Exception::class.java))
|
||||
assertFalse(hasAssignableCause(Exception(), IOException::class.java))
|
||||
assertFalse(hasAssignableCause(Exception(IllegalStateException()), IOException::class.java))
|
||||
assertFalse(hasAssignableCause(Exception(NullPointerException()), IOException::class.java))
|
||||
assertFalse(hasAssignableCause(Exception(IllegalStateException(Exception(Exception()))), IOException::class.java))
|
||||
assertFalse(hasAssignableCause(Exception(IllegalStateException(Exception(SocketException()))), InterruptedIOException::class.java))
|
||||
assertFalse(hasAssignableCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), InterruptedException::class.java))
|
||||
}
|
||||
|
||||
@Test fun `exact causes`() {
|
||||
assertTrue(hasExactCause(Throwable(), Throwable::class.java))
|
||||
assertTrue(hasExactCause(Exception(), Exception::class.java))
|
||||
|
||||
assertTrue(hasExactCause(IOException(), IOException::class.java))
|
||||
assertTrue(hasExactCause(Exception(SocketException()), SocketException::class.java))
|
||||
assertTrue(hasExactCause(Exception(Exception(IOException())), IOException::class.java))
|
||||
assertTrue(hasExactCause(Exception(IllegalStateException(Exception(IOException()))), IOException::class.java))
|
||||
assertTrue(hasExactCause(Exception(IllegalStateException(Exception(SocketException()))), SocketException::class.java))
|
||||
assertTrue(hasExactCause(Exception(IllegalStateException(Exception(SSLException("IO")))), SSLException::class.java))
|
||||
assertTrue(hasExactCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), InterruptedIOException::class.java))
|
||||
assertTrue(hasExactCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), IllegalStateException::class.java))
|
||||
}
|
||||
|
||||
@Test fun `no exact causes`() {
|
||||
assertFalse(hasExactCause(Throwable(), Exception::class.java))
|
||||
assertFalse(hasExactCause(Exception(), Throwable::class.java))
|
||||
|
||||
assertFalse(hasExactCause(SocketException(), IOException::class.java))
|
||||
assertFalse(hasExactCause(IllegalStateException(), RuntimeException::class.java))
|
||||
assertFalse(hasExactCause(Exception(SocketException()), IOException::class.java))
|
||||
assertFalse(hasExactCause(Exception(IllegalStateException(Exception(IOException()))), RuntimeException::class.java))
|
||||
assertFalse(hasExactCause(Exception(IllegalStateException(Exception(SocketException()))), IOException::class.java))
|
||||
assertFalse(hasExactCause(Exception(IllegalStateException(Exception(InterruptedIOException()))), IOException::class.java))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user