seekia/internal/encoding/encoding_test.go

71 lines
2.3 KiB
Go

package encoding_test
import "seekia/internal/encoding"
import "testing"
func TestEncoding(t *testing.T){
isBase32, _ := encoding.VerifyStringContainsOnlyBase32Charset("abcd")
if (isBase32 == false){
t.Fatalf("VerifyStringContainsOnlyBase32Charset failed test 1.")
}
isBase32, invalidCharacter := encoding.VerifyStringContainsOnlyBase32Charset("1234")
if (isBase32 == true){
t.Fatalf("VerifyStringContainsOnlyBase32Charset failed test 2.")
}
if (invalidCharacter != "1"){
t.Fatalf("VerifyStringContainsOnlyBase32Charset failed test 3.")
}
isBase32, _ = encoding.VerifyStringContainsOnlyBase32Charset("abcdefghijklmnopqrstuvwxyz234567")
if (isBase32 == false){
t.Fatalf("VerifyStringContainsOnlyBase32Charset failed test 4.")
}
isBase32, invalidCharacter = encoding.VerifyStringContainsOnlyBase32Charset("abcdefghijklmnopqrstuvwxyz1234567890")
if (isBase32 == true){
t.Fatalf("VerifyStringContainsOnlyBase32Charset failed test 5.")
}
if (invalidCharacter != "1"){
t.Fatalf("VerifyStringContainsOnlyBase32Charset failed test 6.")
}
testString1 := "abcdefghijklmnopqrstuvwxyz234567\r"
_, err := encoding.DecodeBase32StringToBytes(testString1)
if (err == nil){
t.Fatalf(`DecodeBase32StringToBytes allowing \r.`)
}
testString2 := "abcdefghijklmnopqrstuvwxyz234567\n"
_, err = encoding.DecodeBase32StringToBytes(testString2)
if (err == nil){
t.Fatalf(`DecodeBase32StringToBytes allowing \n.`)
}
testString3 := "abcdefghijklmnopqrstuvwxyz234567"
isValid, badCharacter := encoding.VerifyStringContainsOnlyBase32Charset(testString3)
if (isValid == false){
t.Fatalf("VerifyStringContainsOnlyBase32Charset claims testString3 is invalid: " + badCharacter)
}
resultBytes, err := encoding.DecodeBase32StringToBytes(testString3)
if (err != nil){
t.Fatalf("DecodeBase32StringToBytes failed to read testString3: " + err.Error())
}
hexEncoded := encoding.EncodeBytesToHexString(resultBytes)
if (hexEncoded != "00443214c74254b635cf84653a56d7c675be77df"){
t.Fatalf("EncodeBytesToHexString result does not match expected result: " + hexEncoded)
}
base64Encoded := encoding.EncodeBytesToBase64String(resultBytes)
if (base64Encoded != "AEQyFMdCVLY1z4RlOlbXxnW-d98="){
t.Fatalf("EncodeBytesToBase64String result does not match expected result: " + base64Encoded)
}
}