ソースを参照

Add unit test case

xuri 5 年 前
コミット
736362694a
2 ファイル変更20 行追加1 行削除
  1. 0 1
      .travis.yml
  2. 20 0
      file_test.go

+ 0 - 1
.travis.yml

@@ -4,7 +4,6 @@ install:
   - go get -d -t -v ./... && go build -v ./...
 
 go:
-  - 1.10.x
   - 1.11.x
   - 1.12.x
   - 1.13.x

+ 20 - 0
file_test.go

@@ -1,7 +1,12 @@
 package excelize
 
 import (
+	"bufio"
+	"bytes"
+	"strings"
 	"testing"
+
+	"github.com/stretchr/testify/assert"
 )
 
 func BenchmarkWrite(b *testing.B) {
@@ -26,3 +31,18 @@ func BenchmarkWrite(b *testing.B) {
 		}
 	}
 }
+
+func TestWriteTo(t *testing.T) {
+	f := File{}
+	buf := bytes.Buffer{}
+	f.XLSX = make(map[string][]byte, 0)
+	f.XLSX["/d/"] = []byte("s")
+	_, err := f.WriteTo(bufio.NewWriter(&buf))
+	assert.EqualError(t, err, "zip: write to directory")
+	delete(f.XLSX, "/d/")
+	// Test file path overflow
+	const maxUint16 = 1<<16 - 1
+	f.XLSX[strings.Repeat("s", maxUint16+1)] = nil
+	_, err = f.WriteTo(bufio.NewWriter(&buf))
+	assert.EqualError(t, err, "zip: FileHeader.Name too long")
+}