mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-06-10 16:23:54 +02:00
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package c2
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"testing"
|
|
|
|
"golang.org/x/text/encoding/simplifiedchinese"
|
|
"golang.org/x/text/transform"
|
|
)
|
|
|
|
func mustGBK(t *testing.T, s string) []byte {
|
|
t.Helper()
|
|
out, _, err := transform.Bytes(simplifiedchinese.GBK.NewEncoder(), []byte(s))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
return out
|
|
}
|
|
|
|
func TestNormalizeConsoleOutput_WindowsGBK(t *testing.T) {
|
|
raw := mustGBK(t, "中文测试")
|
|
got := NormalizeConsoleOutput(raw, "windows")
|
|
if got != "中文测试" {
|
|
t.Fatalf("got %q want 中文测试", got)
|
|
}
|
|
}
|
|
|
|
func TestNormalizeConsoleOutput_UTF8Passthrough(t *testing.T) {
|
|
raw := []byte("hello 世界")
|
|
got := NormalizeConsoleOutput(raw, "linux")
|
|
if got != "hello 世界" {
|
|
t.Fatalf("got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestResolveTaskResultText_PrefersB64(t *testing.T) {
|
|
raw := mustGBK(t, "采购订单")
|
|
b64 := base64.StdEncoding.EncodeToString(raw)
|
|
got := ResolveTaskResultText("", b64, "windows")
|
|
if got != "采购订单" {
|
|
t.Fatalf("got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestResolveTaskResultText_PlainFallback(t *testing.T) {
|
|
raw := mustGBK(t, "测试")
|
|
got := ResolveTaskResultText(string(raw), "", "windows")
|
|
if got != "测试" {
|
|
t.Fatalf("got %q", got)
|
|
}
|
|
}
|