From 6b1cec4a437ec86dc39508d9fbff55ef614cb5bc Mon Sep 17 00:00:00 2001 From: Lucaskyy Date: Sun, 20 Mar 2022 19:05:24 +0100 Subject: [PATCH] test: add test for multiple classes in jar --- build.gradle.kts | 3 ++ .../net/revanced/patcher/PatcherTest.kt | 46 +++++++++--------- .../kotlin/net/revanced/patcher/ReaderTest.kt | 12 +++++ src/test/resources/test2.jar | Bin 0 -> 1095 bytes 4 files changed, 39 insertions(+), 22 deletions(-) create mode 100644 src/test/kotlin/net/revanced/patcher/ReaderTest.kt create mode 100644 src/test/resources/test2.jar diff --git a/build.gradle.kts b/build.gradle.kts index cb04de2..955b8c6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,4 +23,7 @@ dependencies { tasks.test { useJUnitPlatform() + testLogging { + events("PASSED", "SKIPPED", "FAILED") + } } diff --git a/src/test/kotlin/net/revanced/patcher/PatcherTest.kt b/src/test/kotlin/net/revanced/patcher/PatcherTest.kt index d26bf87..7057b90 100644 --- a/src/test/kotlin/net/revanced/patcher/PatcherTest.kt +++ b/src/test/kotlin/net/revanced/patcher/PatcherTest.kt @@ -14,29 +14,31 @@ import java.io.PrintStream import kotlin.test.Test internal class PatcherTest { - private val testSigs: Array = arrayOf( - // Java: - // public static void main(String[] args) { - // System.out.println("Hello, world!"); - // } - // Bytecode: - // public static main(java.lang.String[] arg0) { // Method signature: ([Ljava/lang/String;)V - // getstatic java/lang/System.out:java.io.PrintStream - // ldc "Hello, world!" (java.lang.String) - // invokevirtual java/io/PrintStream.println(Ljava/lang/String;)V - // return - // } - Signature( - "mainMethod", - Type.VOID_TYPE, - ACC_PUBLIC or ACC_STATIC, - arrayOf(ExtraTypes.ArrayAny), - arrayOf( - LDC, - INVOKEVIRTUAL + companion object { + val testSigs: Array = arrayOf( + // Java: + // public static void main(String[] args) { + // System.out.println("Hello, world!"); + // } + // Bytecode: + // public static main(java.lang.String[] arg0) { // Method signature: ([Ljava/lang/String;)V + // getstatic java/lang/System.out:java.io.PrintStream + // ldc "Hello, world!" (java.lang.String) + // invokevirtual java/io/PrintStream.println(Ljava/lang/String;)V + // return + // } + Signature( + "mainMethod", + Type.VOID_TYPE, + ACC_PUBLIC or ACC_STATIC, + arrayOf(ExtraTypes.ArrayAny), + arrayOf( + LDC, + INVOKEVIRTUAL + ) ) ) - ) + } @Test fun testPatcher() { @@ -127,7 +129,7 @@ internal class PatcherTest { // TODO Doesn't work, needs to be fixed. //@Test - //fun noChanges() { + //fun `test patcher with no changes`() { // val testData = PatcherTest::class.java.getResourceAsStream("/test1.jar")!! // val available = testData.available() // val patcher = Patcher(testData, testSigs) diff --git a/src/test/kotlin/net/revanced/patcher/ReaderTest.kt b/src/test/kotlin/net/revanced/patcher/ReaderTest.kt new file mode 100644 index 0000000..e0afb2a --- /dev/null +++ b/src/test/kotlin/net/revanced/patcher/ReaderTest.kt @@ -0,0 +1,12 @@ +package net.revanced.patcher + +import kotlin.test.Test + +internal class ReaderTest { + @Test + fun `read jar containing multiple classes`() { + val testData = PatcherTest::class.java.getResourceAsStream("/test2.jar")!! + Patcher(testData, PatcherTest.testSigs) // reusing test sigs from PatcherTest + testData.close() + } +} \ No newline at end of file diff --git a/src/test/resources/test2.jar b/src/test/resources/test2.jar new file mode 100644 index 0000000000000000000000000000000000000000..9df8df721ddfee22bfa56d52598dd8cf4f7ae921 GIT binary patch literal 1095 zcmWIWW@Zs#;Nak3$m%NzVL$?$3@i-3t|5-Po_=on|4uP5Ff#;rvvYt{Fo6gL1_s=k zMHm`z4>ix|PKFc+&(aA9Cza7A%N0GbyB z7#J8rQj1HRa}tY-4fT>ilyBcbKPE$gw*QIKW7n+iPS`WEfQ3(}$Glfu$e)E@KyTiz z8ws8-)pmEkf9iSYAp3`fJ(t^3W~MEhT)*$+Kl&o4i>+QCgT4F}VYg(dL>ONfd-|X%Qe@mlF>)b!Dx={A_h1gM> z`=Z)k7s<}i3yJjY(K-Eb?qXpR!J{u!UMMAPlM}wR^=|gIz}2rx>ije6G?I(H2z?ZP)h1a%6^9Sp7C!fv`J_E4md+lT z$^D3dfx(CoIhOE-j}at%awnYkI_w~DY=7>gJmJMF*M8lf!0+_>U_-^~3eAr81x{Y? zXYaZ)#aHR1+lP%`7CZoj&=F6*u!F64XZ}6={Vd<_pI`qmKH&MyH!EWE!-aPb?P})R zB_l0k+xDz-&aq!j2PJrx^E|WIJ((v?VELzAK1wtFU6yo2d=FaLbC7eh(fpIAcQoB| z5vy9`5;$j`&XL6h2QNOlQL?c$_f>6ZcrpImUJx|2OLomVFh|m2%|5Uv}dU?XQ*ved2A3*EN0kGsEJjqRy`gS*976 z&m?Tnv|eyRBkFj5!ucr|PL!BsM|g(SEpgu}x*`6;3yJjx(~FktNvfE3?)a*``aUR7 zZRSaZh%+)U^ne4Ekx7IBHRr&x1t{l0a|o0|$wvX+s9KTJGAQ3b^)N6n*y6}V$R>c| w6gjp*X&zz1VJtZST{p6~P<20MM9M$V^bz3A$_6r@g@J|PCj$e61v7{T008H3I{*Lx literal 0 HcmV?d00001