Imported Upstream version 2.4.0
[scm/test.git] / tasklog / list_task_test.go
1 package tasklog
2
3 import (
4         "testing"
5
6         "github.com/stretchr/testify/assert"
7 )
8
9 func TestListTaskCallsDoneWhenComplete(t *testing.T) {
10         task := NewListTask("example")
11         task.Complete()
12
13         select {
14         case update, ok := <-task.Updates():
15                 assert.Equal(t, "example: ...", update.S)
16                 assert.True(t, ok,
17                         "tasklog: expected Updates() to remain open")
18         default:
19                 t.Fatal("tasklog: expected update from *ListTask")
20         }
21
22         select {
23         case update, ok := <-task.Updates():
24                 assert.False(t, ok,
25                         "git/githistory.log: unexpected *ListTask.Update(): %s", update)
26         default:
27                 t.Fatal("tasklog: expected *ListTask.Updates() to be closed")
28         }
29 }
30
31 func TestListTaskWritesEntries(t *testing.T) {
32         task := NewListTask("example")
33         task.Entry("1")
34
35         select {
36         case update, ok := <-task.Updates():
37                 assert.True(t, ok,
38                         "tasklog: expected ListTask.Updates() to remain open")
39                 assert.Equal(t, "1\n", update.S)
40         default:
41                 t.Fatal("tasklog: expected task.Updates() to have an update")
42         }
43 }
44
45 func TestListTaskIsNotThrottled(t *testing.T) {
46         task := NewListTask("example")
47
48         throttled := task.Throttled()
49
50         assert.False(t, throttled,
51                 "tasklog: expected *ListTask to be Throttle()-d")
52 }