From 9ab539bc8e72f1ba59669d7a9218cdc89caf6428 Mon Sep 17 00:00:00 2001 From: Simon Waldherr Date: Fri, 19 Oct 2018 23:07:53 +0200 Subject: [PATCH] more tests, more badges --- README.md | 2 ++ test2.png | Bin 0 -> 37714 bytes zplgfa_test.go | 96 +++++++++++++++++++++++++++++++------------------ 3 files changed, 63 insertions(+), 35 deletions(-) create mode 100644 test2.png diff --git a/README.md b/README.md index 601c1ef..b630c1b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # ZPLGFA Golang Package [![GoDoc](https://godoc.org/github.com/SimonWaldherr/zplgfa?status.svg)](https://godoc.org/github.com/SimonWaldherr/zplgfa) +[![Build Status](https://travis-ci.org/SimonWaldherr/zplgfa.svg?branch=master)](https://travis-ci.org/SimonWaldherr/zplgfa) +[![Coverage Status](https://coveralls.io/repos/github/SimonWaldherr/zplgfa/badge.svg?branch=master)](https://coveralls.io/github/SimonWaldherr/zplgfa?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/SimonWaldherr/zplgfa)](https://goreportcard.com/report/github.com/SimonWaldherr/zplgfa) [![codebeat badge](https://codebeat.co/badges/28d795af-6f9b-453a-94c2-4fafb8b5b0d5)](https://codebeat.co/projects/github-com-simonwaldherr-zplgfa-master) [![BCH compliance](https://bettercodehub.com/edge/badge/SimonWaldherr/zplgfa?branch=master)](https://bettercodehub.com/results/SimonWaldherr/zplgfa) diff --git a/test2.png b/test2.png new file mode 100644 index 0000000000000000000000000000000000000000..ae77cac083106def93e018fc6b07f07bb95f37a6 GIT binary patch literal 37714 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 literal 0 HcmV?d00001 diff --git a/zplgfa_test.go b/zplgfa_test.go index 3ee3ea9..c2f1248 100644 --- a/zplgfa_test.go +++ b/zplgfa_test.go @@ -11,49 +11,75 @@ import ( "strings" ) -func Test_CompressASCII(t *testing.T) { - if str := CompressASCII("FFFFFFFF000000"); str != "NFL0" { - t.Fatalf("CompressASCII failed") - } +type zplTest struct { + file string + zpl string } -func Test_ConvertToZPL(t *testing.T) { - // open file - file, err := os.Open("./test.png") - if err != nil { - log.Printf("Warning: could not open the file: %s\n", err) - return - } - - defer file.Close() +var zplTests []zplTest - // load image head information - config, format, err := image.DecodeConfig(file) - if err != nil { - log.Printf("Warning: image not compatible, format: %s, config: %v, error: %s\n", format, config, err) +func init() { + zplTests = []zplTest{ + { + file: "./test.png", + zpl: "^XA,^FS^FO0,0^GFA,32,51,3,,::01C000::,001C00::,1DDC00::,::^FS,^XZ", + }, + { + file: "./test2.png", + zpl: "^XA,^FS^FO0,0^GFA,389,630,63,,038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038038000::1C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C71C7100::E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00:lJF00^FS,^XZ", + }, } +} - // reset file pointer to the beginning of the file - file.Seek(0, 0) - - // load and decode image - img, _, err := image.Decode(file) - if err != nil { - log.Printf("Warning: could not decode the file, %s\n", err) - return +func Test_CompressASCII(t *testing.T) { + if str := CompressASCII("FFFFFFFF000000"); str != "NFL0" { + t.Fatalf("CompressASCII failed") } +} - // flatten image - flat := FlattenImage(img) - // convert image to zpl compatible type - gfimg := ConvertToZPL(flat, CompressedASCII) - - // remove whitespace - only for the test - gfimg = strings.Replace(gfimg, " ", "", -1) - gfimg = strings.Replace(gfimg, "\n", "", -1) - if gfimg != "^XA,^FS^FO0,0^GFA,32,51,3,,::01C000::,001C00::,1DDC00::,::^FS,^XZ" { - t.Fatalf("ConvertToZPL failed") +func Test_ConvertToZPL(t *testing.T) { + for i, testcase := range zplTests { + + filename, zplstring := testcase.file, testcase.zpl + // open file + file, err := os.Open(filename) + if err != nil { + log.Printf("Warning: could not open the file: %s\n", err) + return + } + + defer file.Close() + + // load image head information + config, format, err := image.DecodeConfig(file) + if err != nil { + log.Printf("Warning: image not compatible, format: %s, config: %v, error: %s\n", format, config, err) + } + + // reset file pointer to the beginning of the file + file.Seek(0, 0) + + // load and decode image + img, _, err := image.Decode(file) + if err != nil { + log.Printf("Warning: could not decode the file, %s\n", err) + return + } + + // flatten image + flat := FlattenImage(img) + + // convert image to zpl compatible type + gfimg := ConvertToZPL(flat, CompressedASCII) + + // remove whitespace - only for the test + gfimg = strings.Replace(gfimg, " ", "", -1) + gfimg = strings.Replace(gfimg, "\n", "", -1) + + if gfimg != zplstring { + t.Fatalf("Testcase %d ConvertToZPL failed", i) + } } }