Files
ArteKaffee/libcrypt/test_libcrypt_v2.ahk2
2026-08-20 15:54:24 +02:00

29 lines
1.3 KiB
Plaintext

#Requires AutoHotkey v2.0
#Include libcrypt_v2.ahk2
passed := 0, failed := 0, report := ""
Test(name, actual, expected) {
global passed, failed, report
if actual = expected
passed++, report .= "PASS " name "`n"
else
failed++, report .= "FAIL " name "`n expected: " expected "`n actual: " actual "`n"
}
text := "Hello, Welt! 123 äöü"
Test("ASCII2Bin", LC_Bin2Ascii(LC_ASCII2Bin("ABC")), "ABC")
Test("BinStr UTF-8", LC_BinStr_DecodeText(LC_BinStr_EncodeText(text)), text)
Test("Base64 UTF-8", LC_Base64_DecodeText(LC_Base64_EncodeText(text)), text)
Test("ASCII85 original", LC_ASCII85_Decode(LC_ASCII85_Encode("Hello")), "Hello")
Test("ASCII85 Z85", LC_ASCII85_Decode(LC_ASCII85_Encode("test", "z"), "z"), "test")
Test("Caesar", LC_Caesar("Abc XyZ", 2), "Cde ZaB")
Test("ROT5", LC_Rot5("a1239"), "a6784")
Test("ROT13", LC_Rot13("Hello"), "Uryyb")
Test("ROT18", LC_Rot18("Hello 123"), "Uryyb 678")
Test("ROT47", LC_Rot47(LC_Rot47("Hello! 123")), "Hello! 123")
Test("URI", LC_UriDecode(LC_UriEncode("ä & x")), "ä & x")
Test("URL", LC_UrlDecode(LC_UrlEncode("https://example.com/a?x=ä")), "https://example.com/a?x=ä")
Test("Div2", LC_Div2_decode(LC_Div2_encode("abcdef", false), false), "abcdef")
MsgBox("Passed: " passed "`nFailed: " failed "`n`n" report, "libcrypt v2 tests")
ExitApp()