MCPcopy Create free account
hub / github.com/apache/fory / TestDeserializeFromStreamClearsReadMetadataOnError

Function TestDeserializeFromStreamClearsReadMetadataOnError

go/fory/stream_test.go:138–159  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

136}
137
138func TestDeserializeFromStreamClearsReadMetadataOnError(t *testing.T) {
139 f := New(WithXlang(false), WithCompatible(true))
140 f.typeResolver.metaStringResolver.dynamicIDToEnumString =
141 append(f.typeResolver.metaStringResolver.dynamicIDToEnumString, emptyMetaStringBytes)
142 f.metaContext.readTypeInfos = append(f.metaContext.readTypeInfos, &TypeInfo{})
143
144 stream := NewInputStream(bytes.NewReader(nil))
145 var out int32
146 err := f.DeserializeFromStream(stream, &out)
147 if err == nil {
148 t.Fatal("Expected error on empty stream, got nil")
149 }
150 if len(f.typeResolver.metaStringResolver.dynamicIDToEnumString) != 0 {
151 t.Fatalf(
152 "expected stream root cleanup to clear metastring refs, got %d",
153 len(f.typeResolver.metaStringResolver.dynamicIDToEnumString),
154 )
155 }
156 if len(f.metaContext.readTypeInfos) != 0 {
157 t.Fatalf("expected stream root cleanup to clear type metadata, got %d", len(f.metaContext.readTypeInfos))
158 }
159}
160
161func TestInputStreamSequential(t *testing.T) {
162 f := New(WithXlang(false), WithCompatible(false))

Callers

nothing calls this directly

Calls 5

WithXlangFunction · 0.85
WithCompatibleFunction · 0.85
NewInputStreamFunction · 0.85
DeserializeFromStreamMethod · 0.80
NewFunction · 0.70

Tested by

no test coverage detected