diff options
Diffstat (limited to 'internal/example')
-rw-r--r-- | internal/example/example.go | 52 |
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 } |