diff options
author | cyfraeviolae <cyfraeviolae> | 2024-04-03 03:10:44 -0400 |
---|---|---|
committer | cyfraeviolae <cyfraeviolae> | 2024-04-03 03:10:44 -0400 |
commit | 6d7ba58f880be618ade07f8ea080fe8c4bf8a896 (patch) | |
tree | b1c931051ffcebd2bd9d61d98d6233ffa289bbce /venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py | |
parent | 4f884c9abc32990b4061a1bb6997b4b37e58ea0b (diff) |
venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py')
-rw-r--r-- | venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py b/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py new file mode 100644 index 0000000..d40db2d --- /dev/null +++ b/venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py @@ -0,0 +1,59 @@ +# +# written by Stefano Sanfilippo <a.little.coder@gmail.com> +# + +"""Tests for JavaScriptObfuscator unpacker.""" + +import unittest +from jsbeautifier.unpackers.javascriptobfuscator import unpack, detect, smartsplit + +# pylint: disable=R0904 + + +class TestJavascriptObfuscator(unittest.TestCase): + """JavascriptObfuscator.com test case.""" + + def test_smartsplit(self): + """Test smartsplit() function.""" + split = smartsplit + + def equals(data, result): + return self.assertEqual(split(data), result) + + equals("", []) + equals('"a", "b"', ['"a"', '"b"']) + equals('"aaa","bbbb"', ['"aaa"', '"bbbb"']) + equals('"a", "b\\""', ['"a"', '"b\\""']) + + def test_detect(self): + """Test detect() function.""" + + def positive(source): + return self.assertTrue(detect(source)) + + def negative(source): + return self.assertFalse(detect(source)) + + negative("") + negative("abcd") + negative("var _0xaaaa") + positive('var _0xaaaa = ["a", "b"]') + positive('var _0xaaaa=["a", "b"]') + positive('var _0x1234=["a","b"]') + + def test_unpack(self): + """Test unpack() function.""" + + def decodeto(ob, original): + return self.assertEqual(unpack(ob), original) + + decodeto("var _0x8df3=[];var a=10;", "var a=10;") + decodeto( + 'var _0xb2a7=["\x74\x27\x65\x73\x74"];var i;for(i=0;i<10;++i)' + "{alert(_0xb2a7[0]);} ;", + "var i;for(i=0;i<10;++i){alert" '("t\'est");} ;', + ) + + +if __name__ == "__main__": + unittest.main() |