Added test

This commit is contained in:
Shuhao Wu 2014-06-09 11:53:23 -04:00
parent 511792f912
commit 7a3a90cb3d
2 changed files with 31 additions and 6 deletions

View File

@ -38,12 +38,7 @@ func (entry *Entry) String() (string, error) {
}
func (entry *Entry) WithField(key string, value interface{}) *Entry {
data := Fields{}
for k, v := range entry.Data {
data[k] = v
}
data[key] = value
return &Entry{Logger: entry.Logger, Data: data}
return entry.WithFields(Fields{key: value})
}
func (entry *Entry) WithFields(fields Fields) *Entry {

View File

@ -98,3 +98,33 @@ func TestInfoShouldNotAddSpacesBetweenStrings(t *testing.T) {
assert.Equal(t, fields["msg"], "testtest")
})
}
func TestWithFieldsShouldAllowAssignments(t *testing.T) {
var buffer bytes.Buffer
var fields Fields
logger := New()
logger.Out = &buffer
logger.Formatter = new(JSONFormatter)
localLog := logger.WithFields(Fields{
"key1": "value1",
})
localLog.WithField("key2", "value2").Info("test")
err := json.Unmarshal(buffer.Bytes(), &fields)
assert.Nil(t, err)
assert.Equal(t, "value2", fields["key2"])
assert.Equal(t, "value1", fields["key1"])
buffer = bytes.Buffer{}
fields = Fields{}
localLog.Info("test")
err = json.Unmarshal(buffer.Bytes(), &fields)
assert.Nil(t, err)
_, ok := fields["key2"]
assert.Equal(t, false, ok)
assert.Equal(t, "value1", fields["key1"])
}