mirror of
https://github.com/netbirdio/easyjson.git
synced 2026-05-22 18:44:42 -07:00
array unmarshal under/overflow unit tests
make sure the behavior matches that of encoding/json
This commit is contained in:
@@ -133,3 +133,25 @@ func TestSpecialCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestOverflowArray(t *testing.T) {
|
||||
var a Arrays
|
||||
err := easyjson.Unmarshal([]byte(arrayOverflowString), &a)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if a != arrayValue {
|
||||
t.Errorf("Unmarshal(%v) = %+v; want %+v", arrayOverflowString, a, arrayValue)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUnderflowArray(t *testing.T) {
|
||||
var a Arrays
|
||||
err := easyjson.Unmarshal([]byte(arrayUnderflowString), &a)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if a != arrayUnderflowValue {
|
||||
t.Errorf("Unmarshal(%v) = %+v; want %+v", arrayUnderflowString, a, arrayUnderflowValue)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -466,6 +466,25 @@ var arrayString = `{` +
|
||||
`"EmptyIntArray":[]` +
|
||||
`}`
|
||||
|
||||
var arrayOverflowString = `{` +
|
||||
`"ByteArray":"YWJjbnNk",` +
|
||||
`"EmptyByteArray":"YWJj",` +
|
||||
`"IntArray":[1,2,3,4,5,6],` +
|
||||
`"EmptyIntArray":[7,8]` +
|
||||
`}`
|
||||
|
||||
var arrayUnderflowValue = Arrays{
|
||||
ByteArray: [3]byte{'x', 0, 0},
|
||||
EmptyByteArray: [0]byte{},
|
||||
IntArray: [5]int{1, 2, 0, 0, 0},
|
||||
EmptyIntArray: [0]int{},
|
||||
}
|
||||
|
||||
var arrayUnderflowString = `{` +
|
||||
`"ByteArray":"eA==",` +
|
||||
`"IntArray":[1,2]` +
|
||||
`}`
|
||||
|
||||
type Str string
|
||||
|
||||
type Maps struct {
|
||||
|
||||
Reference in New Issue
Block a user