summaryrefslogtreecommitdiff
path: root/internal/example
diff options
context:
space:
mode:
Diffstat (limited to 'internal/example')
-rw-r--r--internal/example/example.go52
1 files changed, 23 insertions, 29 deletions
diff --git a/internal/example/example.go b/internal/example/example.go
index 9e2c736..b95972c 100644
--- a/internal/example/example.go
+++ b/internal/example/example.go
@@ -18,13 +18,14 @@
package example
import (
- "bytes"
"fmt"
- "io/ioutil"
+ // "io/ioutil"
"os"
"path/filepath"
"regexp"
"strings"
+
+ "github.com/jung-kurt/gofpdf"
)
var gofpdfDir string
@@ -39,8 +40,7 @@ func setRoot() {
wdStr, err := os.Getwd()
if err == nil {
gofpdfDir = ""
- sepStr := string(os.PathSeparator)
- list := strings.Split(wdStr, sepStr)
+ list := strings.Split(filepath.ToSlash(wdStr), "/")
for j := len(list) - 1; j >= 0 && list[j] != "gofpdf"; j-- {
gofpdfDir = filepath.Join(gofpdfDir, "..")
}
@@ -103,38 +103,32 @@ var (
// compared except for the value of the /CreationDate field in the PDF. An
// error is returned if the two files do not match. If the reference file does
// not exist, a copy of the specified file is made and a non-nil error is
-// returned only if this copy fails.
+// returned only if this copy fails. If the reference file exists but has zero
+// length, the file will not be overwritten and will be considered to be equal
+// to the example file. This is intended to facilitate initial example
+// development.
func referenceCompare(fileStr string) (err error) {
- var fileBuf, refFileBuf []byte
var refFileStr, refDirStr, dirStr, baseFileStr string
+ // var fileBuf []byte
+ // var info os.FileInfo
dirStr, baseFileStr = filepath.Split(fileStr)
refDirStr = filepath.Join(dirStr, "reference")
err = os.MkdirAll(refDirStr, 0755)
if err == nil {
refFileStr = filepath.Join(refDirStr, baseFileStr)
- fileBuf, err = ioutil.ReadFile(fileStr)
- if err == nil {
- // Replace the creation timestamp of this PDF with a fixed value
- fileBuf = creationDateRe.ReplaceAll(fileBuf, fixDate)
- refFileBuf, err = ioutil.ReadFile(refFileStr)
- if err == nil {
- if len(fileBuf) == len(refFileBuf) {
- if bytes.Equal(fileBuf, refFileBuf) {
- // Files match
- } else {
- err = fmt.Errorf("%s differs from %s", fileStr, refFileStr)
- }
- } else {
- err = fmt.Errorf("size of %s (%d) does not match size of %s (%d)",
- fileStr, len(fileBuf), refFileStr, len(refFileBuf))
- }
- } else {
- // Reference file is missing. Create it with a copy of the newly produced
- // file in which the creation date has been fixed. Overwrite error with copy
- // error.
- err = ioutil.WriteFile(refFileStr, fileBuf, 0644)
- }
- }
+ // info, err = os.Stat(refFileStr)
+ // if err == nil {
+ // if info.Size() > 0 {
+ err = gofpdf.ComparePDFFiles(fileStr, refFileStr)
+ // }
+ // } else {
+ // // Reference file is missing. Create it with a copy of the example file.
+ // // Overwrite error with copy error.
+ // fileBuf, err = ioutil.ReadFile(fileStr)
+ // if err == nil {
+ // err = ioutil.WriteFile(refFileStr, fileBuf, 0644)
+ // }
+ // }
}
return
}