/usr/share/gocode/src/github.com/smartystreets/goconvey/convey/reporting/reporter_test.go is in golang-github-smartystreets-goconvey-dev 1.6.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | package reporting
import (
"runtime"
"testing"
)
func TestEachNestedReporterReceivesTheCallFromTheContainingReporter(t *testing.T) {
fake1 := newFakeReporter()
fake2 := newFakeReporter()
reporter := NewReporters(fake1, fake2)
reporter.BeginStory(nil)
assertTrue(t, fake1.begun)
assertTrue(t, fake2.begun)
reporter.Enter(NewScopeReport("scope"))
assertTrue(t, fake1.entered)
assertTrue(t, fake2.entered)
reporter.Report(NewSuccessReport())
assertTrue(t, fake1.reported)
assertTrue(t, fake2.reported)
reporter.Exit()
assertTrue(t, fake1.exited)
assertTrue(t, fake2.exited)
reporter.EndStory()
assertTrue(t, fake1.ended)
assertTrue(t, fake2.ended)
content := []byte("hi")
written, err := reporter.Write(content)
assertTrue(t, fake1.written)
assertTrue(t, fake2.written)
assertEqual(t, written, len(content))
assertNil(t, err)
}
func assertTrue(t *testing.T, value bool) {
if !value {
_, _, line, _ := runtime.Caller(1)
t.Errorf("Value should have been true (but was false). See line %d", line)
}
}
func assertEqual(t *testing.T, expected, actual int) {
if actual != expected {
_, _, line, _ := runtime.Caller(1)
t.Errorf("Value should have been %d (but was %d). See line %d", expected, actual, line)
}
}
func assertNil(t *testing.T, err error) {
if err != nil {
_, _, line, _ := runtime.Caller(1)
t.Errorf("Error should have been <nil> (but wasn't). See line %d", err, line)
}
}
type fakeReporter struct {
begun bool
entered bool
reported bool
exited bool
ended bool
written bool
}
func newFakeReporter() *fakeReporter {
return &fakeReporter{}
}
func (self *fakeReporter) BeginStory(story *StoryReport) {
self.begun = true
}
func (self *fakeReporter) Enter(scope *ScopeReport) {
self.entered = true
}
func (self *fakeReporter) Report(report *AssertionResult) {
self.reported = true
}
func (self *fakeReporter) Exit() {
self.exited = true
}
func (self *fakeReporter) EndStory() {
self.ended = true
}
func (self *fakeReporter) Write(content []byte) (int, error) {
self.written = true
return len(content), nil
}
|