Skip to content

Commit ad7bd72

Browse files
committed
Add negative test for data values that cannot be json-encoded
1 parent 707d08e commit ad7bd72

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

glager.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,8 @@ func (actual logEntryData) contains(expected logEntryData) (bool, error) {
217217
return false, nil
218218
}
219219

220-
actualJSON, err := json.Marshal(actualVal)
221-
if err != nil {
222-
return false, err
223-
}
220+
// this has been marshalled and unmarshalled before, no need to check err
221+
actualJSON, _ := json.Marshal(actualVal)
224222

225223
expectedJSON, err := json.Marshal(expectedVal)
226224
if err != nil {

glager_test.go

+16-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
. "github.com/onsi/ginkgo"
1212
. "github.com/onsi/gomega"
1313
"github.com/onsi/gomega/gbytes"
14+
"github.com/onsi/gomega/types"
1415
"github.com/pivotal-golang/lager"
1516
"github.com/pivotal-golang/lager/lagertest"
1617
. "github.com/st3v/glager"
@@ -552,10 +553,11 @@ var _ = Describe(".ContainSequence", func() {
552553
var (
553554
buffer *gbytes.Buffer
554555
logger lager.Logger
555-
matcher = ContainSequence(Info())
556+
matcher types.GomegaMatcher
556557
)
557558

558559
BeforeEach(func() {
560+
matcher = ContainSequence(Info())
559561
buffer = gbytes.NewBuffer()
560562
logger = lager.NewLogger("logger")
561563
logger.RegisterSink(lager.NewWriterSink(buffer, lager.DEBUG))
@@ -661,6 +663,19 @@ var _ = Describe(".ContainSequence", func() {
661663
Expect(err).To(BeAssignableToTypeOf(&json.SyntaxError{}))
662664
})
663665
})
666+
667+
Context("when expected contains non-encodable data values", func() {
668+
BeforeEach(func() {
669+
actual = buffer
670+
logger.Info("foo", lager.Data{"foo": "bar"})
671+
matcher = ContainSequence(Info(Data("foo", func() {})))
672+
})
673+
674+
It("returns a json.UnsupportedType error", func() {
675+
Expect(err).To(HaveOccurred())
676+
Expect(err).To(BeAssignableToTypeOf(&json.UnsupportedTypeError{}))
677+
})
678+
})
664679
})
665680

666681
Describe("FailureMessage", func() {

0 commit comments

Comments
 (0)