This commit is contained in:
kunfei
2023-03-25 13:56:34 +08:00
parent c4f09e4578
commit b5b59826b7
5 changed files with 76 additions and 96 deletions
@@ -1,7 +1,5 @@
package io.legado.app
import com.script.SimpleBindings
import io.legado.app.constant.SCRIPT_ENGINE
import org.junit.Assert.assertEquals
import org.junit.Test
@@ -12,21 +10,10 @@ import org.junit.Test
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
@Test
fun jsTest() {
val map = hashMapOf("id" to "3242532321")
map["id"] = "12314123"
val bindings = SimpleBindings()
bindings["result"] = map
val js = "$=result;id=$.id;id"
val result = SCRIPT_ENGINE.eval(js, bindings)?.toString()
assertEquals("12314123", result)
}
}
+52
View File
@@ -0,0 +1,52 @@
package io.legado.app
import com.script.SimpleBindings
import io.legado.app.constant.SCRIPT_ENGINE
import org.intellij.lang.annotations.Language
import org.junit.Assert
import org.junit.Test
class JsTest {
@Test
fun testMap() {
val map = hashMapOf("id" to "3242532321")
map["id"] = "12314123"
val bindings = SimpleBindings()
bindings["result"] = map
@Language("js")
val jsMap = "$=result;id=$.id;id"
val result = SCRIPT_ENGINE.eval(jsMap, bindings)?.toString()
Assert.assertEquals("12314123", result)
}
@Test
fun testFor() {
@Language("js")
val jsFor = """
let result = 0
let a=[1,2,3]
let l=a.length
for (let i = 0;i<l;i++){
result = result + a[i]
}
for (let o of a){
result = result + o
}
for (let o in a){
result = result + o
}
result
""".trimIndent()
val result = SCRIPT_ENGINE.eval(jsFor).toString()
Assert.assertEquals("12012", result)
}
@Test
fun testReturnNull() {
val result = SCRIPT_ENGINE.eval("null")
Assert.assertEquals(null, result)
}
}