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{FhP|C;M6Pv zQ~}rQ>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48Bt5`TA zUPvC1mXy@W_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&2zG_JScQTM&<@nOeI|O#PNG+Cq+$CU}xq5ZF z(*=1Q&W9@X;VmVr*3NpnZKjr(k@1?A=#{z;m;E=pd&1w+=+Zj(&#Nw!{e2;J)aJgZ z_SZ$SbM!(YeS36Hf1JBm*hKK?3zZj2N!#RvZ*9Gsy)AI{tCBkZj5>|vqAvm;?#G%~ z+~jMSu{(O-NzKFg7sSn5#IB#{ZZWod)bVW(Q%ki;R#3&^1Gk0G{bfFB4~nI;M`m(A z0{Y&Fk?8O-f`m`*g!5j99R!Z;&z+Pfym;l>ulp1Don9Yos90U0+0nkh$?N^>U00^~ zDxGxuu<^@+2cQr-;>j0wu=VcDzh}Rn<@^2f>p#W^Jiqy7MQnb!@a~~q&3wCLq-AW| zo>k5{_N(cj1kZAwXBN9B^TY`(|Fp|TX{Nu+l8%V)K`VO>a&9)7fAaK>rh6`8Rcl-V z=giYNvbf;j#YZJGEo)RS?W`Bped6=q@nP`7RHx)r zRnaQP*iPgBX8pmkuVT7Vj$HW5Zv3JB)v};ZyiM`CrVoE+SR7T<`86TSG~@D_gbkY3 z3r=W69nViVKjp%S60__G&#<~B?psAS#9w$JvEE>M(Q-XW71PcgU$s}?2L-ClJgE?I zV1V|31C^0UgaI|@z_JA>=b!?3RsiLr0B=;S$Y~jrZxFy1$b@S}%0V6FLC|ox*eFS*3vVqKJ0m7d^+JYIx0{{T$a6141 literal 0 HcmV?d00001