From 613d4e31603515a432685a01dee420d3ed14de0f Mon Sep 17 00:00:00 2001 From: EmperorBale Date: Tue, 7 Mar 2023 18:15:56 -0800 Subject: [PATCH] tests: Add test for `unescape` --- tests/tests/swfs/avm2/unescape/Test.as | 46 ++++++++++++++++++++++ tests/tests/swfs/avm2/unescape/output.txt | 28 +++++++++++++ tests/tests/swfs/avm2/unescape/test.fla | Bin 0 -> 4052 bytes tests/tests/swfs/avm2/unescape/test.swf | Bin 0 -> 901 bytes tests/tests/swfs/avm2/unescape/test.toml | 1 + 5 files changed, 75 insertions(+) create mode 100644 tests/tests/swfs/avm2/unescape/Test.as create mode 100644 tests/tests/swfs/avm2/unescape/output.txt create mode 100644 tests/tests/swfs/avm2/unescape/test.fla create mode 100644 tests/tests/swfs/avm2/unescape/test.swf create mode 100644 tests/tests/swfs/avm2/unescape/test.toml diff --git a/tests/tests/swfs/avm2/unescape/Test.as b/tests/tests/swfs/avm2/unescape/Test.as new file mode 100644 index 000000000..93f4a1259 --- /dev/null +++ b/tests/tests/swfs/avm2/unescape/Test.as @@ -0,0 +1,46 @@ +package { + + public class Test { + } +} + +trace("Valid sequences"); +trace("unescape(\"%32%33\")"); +trace(unescape("%32%33")); + +trace("unescape(\"aa %32%33\")"); +trace(unescape("aa %32%33")); + +trace("unescape(\"%32 aa %33\")"); +trace(unescape("%32 aa %33")); + +trace("unescape(\"%32%33 aa\")"); +trace(unescape("%32%33 aa")); + +trace("unescape(escape(\"😊\"))"); +trace(unescape(escape("😊"))); + +trace("unescape(escape(\"&& 😊 😊 😊 😊 😊bb\"))"); +trace(unescape(escape("&& 😊 😊 😊 😊 😊bb"))); + +trace("Invalid sequences"); +trace("unescape(\"%32%3\")"); +trace(unescape("%32%3")); + +trace("unescape(\"%%3\")"); +trace(unescape("%%3")); + +trace("unescape(\"%G3\")"); +trace(unescape("%G3 %25")); + +trace("unescape(\"%u\")"); +trace(unescape("%u")); + +trace("unescape(\"%u33\")"); +trace(unescape("%u33")); + +trace("unescape(\"%U3333\")"); +trace(unescape("%U3333")); + +trace("unescape(\"%u333G\")"); +trace(unescape("%u333G")); \ No newline at end of file diff --git a/tests/tests/swfs/avm2/unescape/output.txt b/tests/tests/swfs/avm2/unescape/output.txt new file mode 100644 index 000000000..54eb99351 --- /dev/null +++ b/tests/tests/swfs/avm2/unescape/output.txt @@ -0,0 +1,28 @@ +Valid sequences +unescape("%32%33") +23 +unescape("aa %32%33") +aa 23 +unescape("%32 aa %33") +2 aa 3 +unescape("%32%33 aa") +23 aa +unescape(escape("😊")) +😊 +unescape(escape("&& 😊 😊 😊 😊 😊bb")) +&& 😊 😊 😊 😊 😊bb +Invalid sequences +unescape("%32%3") +2%3 +unescape("%%3") +%%3 +unescape("%G3") +%G3 % +unescape("%u") +%u +unescape("%u33") +%u33 +unescape("%U3333") +%U3333 +unescape("%u333G") +%u333G diff --git a/tests/tests/swfs/avm2/unescape/test.fla b/tests/tests/swfs/avm2/unescape/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..b27a5e649558410954a4ca6414621bf1a86235a6 GIT binary patch literal 4052 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/unescape/test.toml b/tests/tests/swfs/avm2/unescape/test.toml new file mode 100644 index 000000000..dbee897f5 --- /dev/null +++ b/tests/tests/swfs/avm2/unescape/test.toml @@ -0,0 +1 @@ +num_frames = 1