53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
package log
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestListTaskCallsDoneWhenComplete(t *testing.T) {
|
|
task := NewListTask("example")
|
|
task.Complete()
|
|
|
|
select {
|
|
case update, ok := <-task.Updates():
|
|
assert.Equal(t, "example: ...", update)
|
|
assert.True(t, ok,
|
|
"git/githistory/log: expected Updates() to remain open")
|
|
default:
|
|
t.Fatal("git/githistory/log: expected update from *ListTask")
|
|
}
|
|
|
|
select {
|
|
case update, ok := <-task.Updates():
|
|
assert.False(t, ok,
|
|
"git/githistory.log: unexpected *ListTask.Update(): %s", update)
|
|
default:
|
|
t.Fatal("git/githistory/log: expected *ListTask.Updates() to be closed")
|
|
}
|
|
}
|
|
|
|
func TestListTaskWritesEntries(t *testing.T) {
|
|
task := NewListTask("example")
|
|
task.Entry("1")
|
|
|
|
select {
|
|
case update, ok := <-task.Updates():
|
|
assert.True(t, ok,
|
|
"git/githistory/log: expected ListTask.Updates() to remain open")
|
|
assert.Equal(t, "1\n", update)
|
|
default:
|
|
t.Fatal("git/githistory/log: expected task.Updates() to have an update")
|
|
}
|
|
}
|
|
|
|
func TestListTaskIsNotThrottled(t *testing.T) {
|
|
task := NewListTask("example")
|
|
|
|
throttled := task.Throttled()
|
|
|
|
assert.False(t, throttled,
|
|
"git/githistory/log: expected *ListTask to be Throttle()-d")
|
|
}
|