Files
RobloxVerify/tests/test_parse.py
T
TheRaiwy 3dac157a4a
tests / test (push) Successful in 5s
Fix test for Python <3.10 compat
2026-07-10 13:04:34 +03:00

63 lines
1.8 KiB
Python

import sys, ast, os
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
with open("main.py", encoding="utf-8") as f:
src = f.read()
# isolate parse_account_line (no external deps)
tree = ast.parse(src)
func_def = None
for node in ast.walk(tree):
if isinstance(node, ast.FunctionDef) and node.name == "parse_account_line":
func_def = node
break
# exec only the function (with from __future__ import annotations for <3.10 compat)
func_src = "from __future__ import annotations\n" + ast.unparse(func_def)
exec(compile(func_src, "<parse>", "exec"))
def test_login_pass():
r = parse_account_line("user:pass")
assert r["login"] == "user"
assert r["password"] == "pass"
assert r["cookie"] == ""
def test_login_pass_cookie():
raw = "user:pass:_|WARNING:some-cookie:with:colons"
r = parse_account_line(raw)
assert r["login"] == "user"
assert r["password"] == "pass"
assert r["cookie"] == "_|WARNING:some-cookie:with:colons"
def test_login_cookie():
raw = "user:_|WARNING:some-cookie:with:colons"
r = parse_account_line(raw)
assert r["login"] == "user"
assert r["password"] == ""
assert r["cookie"] == "_|WARNING:some-cookie:with:colons"
def test_cookie_only():
raw = "_|WARNING:" + "x" * 100
r = parse_account_line(raw)
assert r["login"] == ""
assert r["password"] == ""
assert r["cookie"] == raw
def test_short_line_no_colon():
assert parse_account_line("short") is None
def test_raw_preserved():
raw = "user:pass:cookie"
r = parse_account_line(raw)
assert r["_raw"] == raw
if __name__ == "__main__":
test_login_pass()
test_login_pass_cookie()
test_login_cookie()
test_cookie_only()
test_short_line_no_colon()
test_raw_preserved()
print("All tests passed")