@ -814,18 +814,26 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner,
" Uint64FieldMaxValue " ,
" Uint64FieldMaxValue " ,
R " ({ " optionalUint64 " : " 18446744073709551615 " }) " ,
R " ({ " optionalUint64 " : " 18446744073709551615 " }) " ,
" optional_uint64: 18446744073709551615 " ) ;
" optional_uint64: 18446744073709551615 " ) ;
// While not the largest Int64, this is the largest
// Int64 which can be exactly represented within an
// IEEE-754 64-bit float, which is the expected level
// of interoperability guarantee. Larger values may
// work in some implementations, but should not be
// relied upon.
RunValidJsonTest (
RunValidJsonTest (
" Int64FieldMaxValueNotQuoted " ,
" Int64FieldMaxValueNotQuoted " ,
R " ({ " optionalInt64 " : 9223372036854775807}) " ,
R " ({ " optionalInt64 " : 9223372036854774784 }) " ,
" optional_int64: 9223372036854775807 " ) ;
" optional_int64: 9223372036854774784 " ) ;
RunValidJsonTest (
RunValidJsonTest (
" Int64FieldMinValueNotQuoted " ,
" Int64FieldMinValueNotQuoted " ,
R " ({ " optionalInt64 " : -9223372036854775808}) " ,
R " ({ " optionalInt64 " : -9223372036854775808}) " ,
" optional_int64: -9223372036854775808 " ) ;
" optional_int64: -9223372036854775808 " ) ;
// Largest interoperable Uint64; see comment above
// for Int64FieldMaxValueNotQuoted.
RunValidJsonTest (
RunValidJsonTest (
" Uint64FieldMaxValueNotQuoted " ,
" Uint64FieldMaxValueNotQuoted " ,
R " ({ " optionalUint64 " : 18446744073709551615 }) " ,
R " ({ " optionalUint64 " : 18446744073709549568 }) " ,
" optional_uint64: 18446744073709551615 " ) ;
" optional_uint64: 18446744073709549568 " ) ;
// Values can be represented as JSON strings.
// Values can be represented as JSON strings.
RunValidJsonTest (
RunValidJsonTest (
" Int32FieldStringValue " ,
" Int32FieldStringValue " ,