Files
wehub-resource-sync ead81af521
CI / go (push) Waiting to run
CI / build (darwin, macos-14) (push) Waiting to run
CI / build (windows, windows-2025) (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:31:13 +08:00

62 lines
1.4 KiB
Go

package luaplugin
import (
"testing"
lua "github.com/yuin/gopher-lua"
)
func TestCryptoMD5(t *testing.T) {
L := lua.NewState()
defer L.Close()
cliamp := L.NewTable()
registerCryptoAPI(L, cliamp)
L.SetGlobal("cliamp", cliamp)
err := L.DoString(`_G.hash = cliamp.crypto.md5("hello")`)
if err != nil {
t.Fatal(err)
}
want := "5d41402abc4b2a76b9719d911017c592"
if got := L.GetGlobal("hash").String(); got != want {
t.Fatalf("md5('hello') = %q, want %q", got, want)
}
}
func TestCryptoSHA256(t *testing.T) {
L := lua.NewState()
defer L.Close()
cliamp := L.NewTable()
registerCryptoAPI(L, cliamp)
L.SetGlobal("cliamp", cliamp)
err := L.DoString(`_G.hash = cliamp.crypto.sha256("hello")`)
if err != nil {
t.Fatal(err)
}
want := "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
if got := L.GetGlobal("hash").String(); got != want {
t.Fatalf("sha256('hello') = %q, want %q", got, want)
}
}
func TestCryptoHMACSHA256(t *testing.T) {
L := lua.NewState()
defer L.Close()
cliamp := L.NewTable()
registerCryptoAPI(L, cliamp)
L.SetGlobal("cliamp", cliamp)
err := L.DoString(`_G.hash = cliamp.crypto.hmac_sha256("key", "message")`)
if err != nil {
t.Fatal(err)
}
want := "6e9ef29b75fffc5b7abae527d58fdadb2fe42e7219011976917343065f58ed4a"
if got := L.GetGlobal("hash").String(); got != want {
t.Fatalf("hmac_sha256('key','message') = %q, want %q", got, want)
}
}