-
Notifications
You must be signed in to change notification settings - Fork 0
/
task_test.go
58 lines (44 loc) · 1.87 KB
/
task_test.go
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
57
58
package main
import (
"testing"
"time"
)
func TestParseTask(t *testing.T) {
t.Run("empty_line", func(t *testing.T) {
_, err := ParseTask("")
AssertEqual(t, err.Error(), "ignore", "Empty line is not ignored")
})
t.Run("no_separator", func(t *testing.T) {
task, _ := ParseTask("Contents")
AssertTaskText(t, task, "Contents")
AssertTaskFinishedDate(t, task, time.Unix(0, 0))
if task.creationDate.IsZero() {
t.Fatal("task.creationDate has zero value")
}
})
t.Run("escaped_no_separator", func(t *testing.T) {
task, _ := ParseTask(`hello\|world`)
AssertTaskText(t, task, "hello|world")
AssertTaskFinishedDate(t, task, time.Unix(0, 0))
})
t.Run("has_default_creationDate", func(t *testing.T) {
task, _ := ParseTask("hi | finished:2001/03/14/23/58")
var dt time.Time
AssertNotEqual(t, task.creationDate, dt, "Task's creation date is zero-value")
AssertTaskFinishedDate(t, task, time.Date(2001, 03, 14, 23, 58, 0, 0, time.UTC))
})
t.Run("full", func(t *testing.T) {
task, _ := ParseTask("Example Task | id: 7b91fb49a85ea06bb0276e70984d602e62e95ea5, creation:2003/04/15/22/18, finished:2001/01/01/00/00")
AssertTaskText(t, task, "Example Task")
AssertTaskHash(t, task, "7b91fb49a85ea06bb0276e70984d602e62e95ea5")
AssertTaskCreationDate(t, task, time.Date(2003, 4, 15, 22, 18, 0, 0, time.UTC))
AssertTaskFinishedDate(t, task, time.Date(2001, 1, 1, 0, 0, 0, 0, time.UTC))
})
t.Run("full_random_meta_order", func(t *testing.T) {
task, _ := ParseTask(`Example\|Task | finished:2001/01/01/00/00,id: 7b91fb49a85ea06bb0276e70984d602e62e95ea5 ,creation:2003/04/15/22/18`)
AssertTaskText(t, task, "Example|Task")
AssertTaskHash(t, task, "7b91fb49a85ea06bb0276e70984d602e62e95ea5")
AssertTaskCreationDate(t, task, time.Date(2003, time.April, 15, 22, 18, 0, 0, time.UTC))
AssertTaskFinishedDate(t, task, time.Date(2001, 1, 1, 0, 0, 0, 0, time.UTC))
})
}