This repository has been archived on 2024-07-30. You can view files and clone it, but cannot push or open issues or pull requests.
python-aternos/tests/js2py_test.py

58 lines
1.4 KiB
Python
Raw Permalink Normal View History

2021-11-01 17:04:19 +03:00
import re
2022-03-25 15:45:38 +03:00
import unittest
2022-03-17 09:24:58 +03:00
from python_aternos import atjsparse
2021-11-01 17:04:19 +03:00
2022-03-25 15:45:38 +03:00
class TestJs2Py(unittest.TestCase):
def setUp(self) -> None:
self.tests = []
with open('token.txt', 'rt') as f:
2022-03-25 15:45:38 +03:00
lines = re.split(r'[\r\n]', f.read())
del lines[len(lines)-1] # Remove empty string
self.tests = lines
self.results = [
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2rKOA1IFdBcHhEM616cb',
'2iXh5W5uEYq5fWJIazQ6',
'CuUcmZ27Fb8bVBNw12Vj',
'YPPe8Ph7vzYaZ9PF9oQP',
'UfLlemvKEE16ltk0hZNM',
'q6pYdP6r7xiVHhbotvlN',
'q6pYdP6r7xiVHhbotvlN',
'XAIbksgkVX9JYboMDI7D',
'sBImgVg6RL98W1khPYMl'
2022-03-25 15:45:38 +03:00
]
def test_base64(self) -> None:
encoded = 'QEhlbGxvIFdvcmxkIQ=='
decoded = atjsparse.atob(encoded)
self.assertEqual(decoded, '@Hello World!')
def test_conv(self) -> None:
2021-11-01 17:04:19 +03:00
2022-03-25 15:45:38 +03:00
token = '(() => {window["AJAX_TOKEN"]=("2r" + "KO" + "A1" + "IFdBcHhEM" + "61" + "6cb");})();'
f = atjsparse.to_ecma5_function(token)
self.assertEqual(f, '(function(){window["AJAX_TOKEN"]=("2r" + "KO" + "A1" + "IFdBcHhEM" + "61" + "6cb");})()')
def test_exec(self) -> None:
2021-11-01 17:04:19 +03:00
2022-03-25 15:45:38 +03:00
for i, f in enumerate(self.tests):
ctx = atjsparse.exec(f)
res = ctx.window['AJAX_TOKEN']
self.assertEqual(res, self.results[i])
def tearDown(self) -> None:
del self.tests
del self.results