reg/vendor/github.com/gogo/protobuf/test/int64support/object_js_test.go
Jess Frazelle 3834c605e5
update deps
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-03-06 10:32:47 -05:00

48 lines
965 B
Go

package int64support
import (
"encoding/json"
"testing"
)
func TestMarshaler(t *testing.T) {
n := int64(1)
b, err := json.Marshal(&Object{&n})
if err != nil {
t.Fatal(err)
}
const expected = "{\"optional_number\":1}"
if string(b) != expected {
t.Fatalf("expected '%s' instead of '%s'", expected, string(b))
}
b, err = json.Marshal(new(Object))
if err != nil {
t.Fatal(err)
}
const expected2 = "{}"
if string(b) != expected2 {
t.Fatalf("expected '%s' instead of '%s'", expected2, string(b))
}
}
func TestUnmarshaler(t *testing.T) {
o := new(Object)
err := json.Unmarshal(([]byte)("{\"optional_number\": 1}"), o)
if err != nil {
t.Fatal(err)
}
if n := o.GetOptionalNumber(); n != 1 {
t.Fatalf("expected 1 instead of %d", n)
}
o = new(Object)
err = json.Unmarshal(([]byte)("{}"), o)
if err != nil {
t.Fatal(err)
}
if o.OptionalNumber != nil {
t.Fatalf("expected nil OptionalNumber instead of %d", *o.OptionalNumber)
}
}