unipdf/internal/strutils/pdfdocenc_test.go
2019-05-16 20:44:51 +00:00

36 lines
809 B
Go

/*
* This file is subject to the terms and conditions defined in
* file 'LICENSE.md', which is part of this source code package.
*/
package strutils
import (
"bytes"
"testing"
)
func TestPDFDocEncodingDecode(t *testing.T) {
testcases := []struct {
Encoded []byte
Expected string
}{
{[]byte{0x47, 0x65, 0x72, 0xfe, 0x72, 0xfa, 0xf0, 0x75, 0x72}, "Gerþrúður"},
{[]byte("Ger\xfer\xfa\xf0ur"), "Gerþrúður"},
}
for _, testcase := range testcases {
str := PDFDocEncodingToString(testcase.Encoded)
if str != testcase.Expected {
t.Fatalf("Mismatch %s != %s", str, testcase.Expected)
}
enc := StringToPDFDocEncoding(str)
if !bytes.Equal(enc, testcase.Encoded) {
t.Fatalf("Encode mismatch %s (%X) != %s (%X)", enc, enc, testcase.Encoded, testcase.Encoded)
}
}
return
}