From dcd5a4272957e6566f1ee5bc0a69c3c7c4d4569b Mon Sep 17 00:00:00 2001 From: Sam Cao Date: Wed, 19 Jun 2024 09:20:55 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20test:=20Enhance=20TestJavetSanit?= =?UTF-8?q?izerFridge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 2 +- .../codegen/TestJavetSanitizerFridge.java | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index dce0b87d..2a2c92a2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -65,7 +65,7 @@ object Config { object Versions { const val JAVA_VERSION = "1.8" - const val JAVET = "3.1.2" + const val JAVET = "3.1.3" const val JUNIT = "5.10.1" const val SWC4J = "0.10.0" } diff --git a/src/test/java/com/caoccao/javet/sanitizer/codegen/TestJavetSanitizerFridge.java b/src/test/java/com/caoccao/javet/sanitizer/codegen/TestJavetSanitizerFridge.java index 1e96006e..96a4ac0a 100644 --- a/src/test/java/com/caoccao/javet/sanitizer/codegen/TestJavetSanitizerFridge.java +++ b/src/test/java/com/caoccao/javet/sanitizer/codegen/TestJavetSanitizerFridge.java @@ -16,14 +16,18 @@ package com.caoccao.javet.sanitizer.codegen; +import com.caoccao.javet.exceptions.JavetException; +import com.caoccao.javet.interop.V8Host; +import com.caoccao.javet.interop.V8Runtime; import com.caoccao.javet.sanitizer.options.JavetSanitizerOptions; +import com.caoccao.javet.values.reference.builtin.V8ValueBuiltInObject; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.*; public class TestJavetSanitizerFridge { @Test - public void testGenerate() { + public void testGenerate() throws JavetException { JavetSanitizerOptions options = JavetSanitizerOptions.Default.toClone(); options.getToBeDeletedIdentifierList().clear(); options.getToBeDeletedIdentifierList().add("eval"); @@ -59,5 +63,12 @@ public void testGenerate() { "Object.freeze(Array);\n" + "Object.freeze(Array.prototype);\n\n", codeString); + try (V8Runtime v8Runtime = V8Host.getV8Instance().createV8Runtime()) { + try (V8ValueBuiltInObject v8ValueBuiltInObject = v8Runtime.getGlobalObject().getBuiltInObject()) { + assertFalse(v8ValueBuiltInObject.isFrozen()); + v8Runtime.getExecutor(codeString).executeVoid(); + assertTrue(v8ValueBuiltInObject.isFrozen()); + } + } } }