1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package task
import (
"os"
"testing"
)
func TestAddAndExport(t *testing.T) {
tmp := t.TempDir()
if err := os.Setenv("TASKDATA", tmp); err != nil {
t.Fatal(err)
}
if err := os.Setenv("TASKRC", "/dev/null"); err != nil {
t.Fatal(err)
}
t.Cleanup(func() {
os.Unsetenv("TASKDATA")
os.Unsetenv("TASKRC")
})
if err := Add("hello world", []string{"tag", "anothertag", "tasksamuraitesting"}); err != nil {
t.Fatalf("add task 1: %v", err)
}
if err := Add("hello universe", []string{"foo", "tasksamuraitesting"}); err != nil {
t.Fatalf("add task 2: %v", err)
}
tasks, err := Export()
if err != nil {
t.Fatalf("export: %v", err)
}
found := make(map[string]bool)
for _, task := range tasks {
hasTag := false
for _, tag := range task.Tags {
if tag == "tasksamuraitesting" {
hasTag = true
break
}
}
if hasTag {
found[task.Description] = true
}
}
if len(found) != 2 {
t.Fatalf("expected 2 tasks with tag, got %d", len(found))
}
if !found["hello world"] {
t.Errorf("missing task 'hello world'")
}
if !found["hello universe"] {
t.Errorf("missing task 'hello universe'")
}
}
|