...

Source file src/github.com/aws/smithy-go/encoding/json/encoder_test.go

Documentation: github.com/aws/smithy-go/encoding/json

     1  package json_test
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	"github.com/aws/smithy-go/encoding/json"
     8  )
     9  
    10  func TestEncoder(t *testing.T) {
    11  	encoder := json.NewEncoder()
    12  
    13  	object := encoder.Object()
    14  
    15  	object.Key("stringKey").String("stringValue")
    16  	object.Key("integerKey").Long(1024)
    17  	object.Key("floatKey").Double(3.14)
    18  
    19  	subObj := object.Key("foo").Object()
    20  
    21  	subObj.Key("byteSlice").Base64EncodeBytes([]byte("foo bar"))
    22  	subObj.Close()
    23  
    24  	object.Close()
    25  
    26  	e := []byte(`{"stringKey":"stringValue","integerKey":1024,"floatKey":3.14,"foo":{"byteSlice":"Zm9vIGJhcg=="}}`)
    27  	if a := encoder.Bytes(); bytes.Compare(e, a) != 0 {
    28  		t.Errorf("expected %+q, but got %+q", e, a)
    29  	}
    30  
    31  	if a := encoder.String(); string(e) != a {
    32  		t.Errorf("expected %s, but got %s", e, a)
    33  	}
    34  }
    35  

View as plain text