aboutsummaryrefslogtreecommitdiff
path: root/hotline/files_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'hotline/files_test.go')
-rw-r--r--hotline/files_test.go83
1 files changed, 83 insertions, 0 deletions
diff --git a/hotline/files_test.go b/hotline/files_test.go
new file mode 100644
index 0000000..88c893f
--- /dev/null
+++ b/hotline/files_test.go
@@ -0,0 +1,83 @@
+package hotline
+
+import (
+ "bytes"
+ "os"
+ "reflect"
+ "testing"
+)
+
+func TestEncodeFilePath(t *testing.T) {
+ var tests = []struct {
+ filePath string
+ want []byte
+ }{
+ {
+ filePath: "kitten1.jpg",
+ want: []byte{
+ 0x00, 0x01, // number of items in path
+ 0x00, 0x00, // leading path separator
+ 0x0b, // length of next path section (11)
+ 0x6b, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x31, 0x2e, 0x6a, 0x70, 0x67, // kitten1.jpg
+ },
+ },
+ {
+ filePath: "foo/kitten1.jpg",
+ want: []byte{
+ 0x00, 0x02, // number of items in path
+ 0x00, 0x00,
+ 0x03,
+ 0x66, 0x6f, 0x6f,
+ 0x00, 0x00, // leading path separator
+ 0x0b, // length of next path section (11)
+ 0x6b, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x31, 0x2e, 0x6a, 0x70, 0x67, // kitten1.jpg
+ },
+ },
+ }
+
+ for _, test := range tests {
+ got := EncodeFilePath(test.filePath)
+ if !bytes.Equal(got, test.want) {
+ t.Errorf("field mismatch: want: %#v got: %#v", test.want, got)
+ }
+ }
+}
+
+func TestCalcTotalSize(t *testing.T) {
+ cwd, _ := os.Getwd()
+ defer func() {_ = os.Chdir(cwd)}()
+
+ _ = os.Chdir("test/config/Files")
+
+ type args struct {
+ filePath string
+ }
+ tests := []struct {
+ name string
+ args args
+ want []byte
+ wantErr bool
+ }{
+ {
+ name: "Foo",
+ args: args{
+ filePath: "test",
+ },
+ want: []byte{0x00, 0x00, 0x18, 0x00},
+ wantErr: false,
+ },
+ // TODO: Add more test cases.
+ }
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ got, err := CalcTotalSize(tt.args.filePath)
+ if (err != nil) != tt.wantErr {
+ t.Errorf("CalcTotalSize() error = %v, wantErr %v", err, tt.wantErr)
+ return
+ }
+ if !reflect.DeepEqual(got, tt.want) {
+ t.Errorf("CalcTotalSize() got = %v, want %v", got, tt.want)
+ }
+ })
+ }
+}