test: imports basic tests, all passing.

This commit is contained in:
Houmgaor
2025-11-09 12:36:56 +01:00
parent 33a195b864
commit c8c0dae8fe
11 changed files with 1298 additions and 5 deletions

View File

@@ -0,0 +1,31 @@
package clientctx
import (
"testing"
)
// TestClientContext_Exists verifies that the ClientContext type exists
// and can be instantiated, even though it's currently unused.
func TestClientContext_Exists(t *testing.T) {
// This test documents that ClientContext is currently an empty struct
// and is marked as unused in the codebase.
var ctx ClientContext
// Verify it's a zero-size struct
_ = ctx
// Just verify we can create it
ctx2 := ClientContext{}
_ = ctx2
}
// TestClientContext_IsEmpty verifies that ClientContext has no fields
func TestClientContext_IsEmpty(t *testing.T) {
// The struct should be empty as marked by the comment "// Unused"
// This test documents the current state of the struct
ctx := ClientContext{}
_ = ctx
// If fields are added in the future, this test will need to be updated
// Currently it's just a placeholder/documentation test
}

View File

@@ -18,6 +18,16 @@ func Decrypt(data []byte, key uint32, overrideByteKey *byte) (outputData []byte,
return _generalCrypt(data, key, 1, overrideByteKey)
}
// Crypto is a unified interface for both encryption and decryption.
// If encrypt is true, it encrypts the data; otherwise it decrypts.
// This function exists for compatibility with tests.
func Crypto(data []byte, rotKey uint32, encrypt bool, overrideByteKey *byte) ([]byte, uint16, uint16, uint16, uint16) {
if encrypt {
return Encrypt(data, rotKey, overrideByteKey)
}
return Decrypt(data, rotKey, overrideByteKey)
}
// _generalCrypt is a generalized MHF crypto function that can perform both encryption and decryption,
// these two crypto operations are combined into a single function because they shared most of their logic.
// encrypt: cryptType==0

View File

@@ -65,7 +65,7 @@ func TestEncrypt(t *testing.T) {
for k, tt := range tests {
testname := fmt.Sprintf("encrypt_test_%d", k)
t.Run(testname, func(t *testing.T) {
out, cc, c0, c1, c2 := Encrypt(tt.decryptedData, tt.key, nil)
out, cc, c0, c1, c2 := Crypto(tt.decryptedData, tt.key, true, nil)
if cc != tt.ecc {
t.Errorf("got cc 0x%X, want 0x%X", cc, tt.ecc)
} else if c0 != tt.ec0 {
@@ -86,7 +86,7 @@ func TestDecrypt(t *testing.T) {
for k, tt := range tests {
testname := fmt.Sprintf("decrypt_test_%d", k)
t.Run(testname, func(t *testing.T) {
out, cc, c0, c1, c2 := Decrypt(tt.encryptedData, tt.key, nil)
out, cc, c0, c1, c2 := Crypto(tt.encryptedData, tt.key, false, nil)
if cc != tt.ecc {
t.Errorf("got cc 0x%X, want 0x%X", cc, tt.ecc)
} else if c0 != tt.ec0 {