From e28b0bc646cfea80d184c1f4b6d7fbc3c0d7ae72 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Sat, 25 Mar 2017 10:51:30 -0300 Subject: [PATCH] Write tests for variables --- task_test.go | 41 ++++++++++++++++++++++++++++++++++++++ testdata/vars/.gitignore | 1 + testdata/vars/Taskfile.yml | 12 +++++++++++ testdata/vars/Taskvars.yml | 2 ++ 4 files changed, 56 insertions(+) create mode 100644 testdata/vars/.gitignore create mode 100644 testdata/vars/Taskfile.yml create mode 100644 testdata/vars/Taskvars.yml diff --git a/task_test.go b/task_test.go index 0c6e5cba..e5b14ee9 100644 --- a/task_test.go +++ b/task_test.go @@ -1,9 +1,11 @@ package task_test import ( + "io/ioutil" "os" "os/exec" "path/filepath" + "strings" "testing" ) @@ -43,3 +45,42 @@ func TestDeps(t *testing.T) { } } } + +func TestVars(t *testing.T) { + const dir = "testdata/vars" + + files := []struct { + file string + content string + }{ + {"foo.txt", "foo"}, + {"bar.txt", "bar"}, + {"foo2.txt", "foo2"}, + {"bar2.txt", "bar2"}, + } + + for _, f := range files { + _ = os.Remove(filepath.Join(dir, f.file)) + } + + c := exec.Command("task") + c.Dir = dir + + if err := c.Run(); err != nil { + t.Error(err) + return + } + + for _, f := range files { + d, err := ioutil.ReadFile(filepath.Join(dir, f.file)) + if err != nil { + t.Errorf("Error reading %s: %v", f.file, err) + } + s := string(d) + s = strings.TrimSpace(s) + + if s != f.content { + t.Errorf("File content should be %s but is %s", f.content, s) + } + } +} diff --git a/testdata/vars/.gitignore b/testdata/vars/.gitignore new file mode 100644 index 00000000..2211df63 --- /dev/null +++ b/testdata/vars/.gitignore @@ -0,0 +1 @@ +*.txt diff --git a/testdata/vars/Taskfile.yml b/testdata/vars/Taskfile.yml new file mode 100644 index 00000000..646f4e5c --- /dev/null +++ b/testdata/vars/Taskfile.yml @@ -0,0 +1,12 @@ +default: + deps: [hello] + +hello: + cmds: + - echo {{.FOO}} > foo.txt + - echo {{.BAR}} > bar.txt + - echo {{.FOO2}} > foo2.txt + - echo {{.BAR2}} > bar2.txt + vars: + FOO: foo + BAR: $echo bar diff --git a/testdata/vars/Taskvars.yml b/testdata/vars/Taskvars.yml new file mode 100644 index 00000000..be071220 --- /dev/null +++ b/testdata/vars/Taskvars.yml @@ -0,0 +1,2 @@ +FOO2: foo2 +BAR2: $echo bar2