Fixed issue: Invalid escape sequences in string literals not raising errors (e.g. \q)

This commit is contained in:
UnlegitDqrk
2026-03-01 19:11:18 +01:00
parent 86e4d78761
commit 364dbecb17
2 changed files with 19 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ import junit.framework.TestCase;
import org.luaj.vm2.Globals;
import org.luaj.vm2.LuaDouble;
import org.luaj.vm2.LuaInteger;
import org.luaj.vm2.LuaError;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.libs.jse.JsePlatform;
@@ -61,7 +62,17 @@ public class SimpleTests extends TestCase {
"print( 2 )\n";
doTest( s );
}
public void testInvalidStringEscapeFails() {
try {
globals.load("local s = \"bad\\qescape\"\nprint(s)\n", "script");
fail("expected invalid escape sequence");
} catch (LuaError e) {
assertTrue("unexpected error: " + e.getMessage(),
e.getMessage().indexOf("invalid escape sequence") >= 0);
}
}
public void testInlineTable() {
String s = "A = {g=10}\n"+
"print( A )\n";