Duplicate the integer tests using octal and hex.

PiperOrigin-RevId: 629715987
pull/16669/head
Thomas Van Lenten 11 months ago committed by Copybara-Service
parent 15c07711d0
commit 4cbb7b8540
  1. 64
      conformance/text_format_conformance_suite.cc

@ -321,6 +321,44 @@ void TextFormatConformanceTestSuiteImpl<MessageType>::RunAllTests() {
"optional_int64: -9223372036854775808");
RunValidTextFormatTest("Uint64FieldMaxValue", REQUIRED,
"optional_uint64: 18446744073709551615");
// Integer fields - Hex
RunValidTextFormatTestWithExpected("Int32FieldMaxValueHex", REQUIRED,
"optional_int32: 0x7FFFFFFF",
"optional_int32: 2147483647");
RunValidTextFormatTestWithExpected("Int32FieldMinValueHex", REQUIRED,
"optional_int32: -0x80000000",
"optional_int32: -2147483648");
RunValidTextFormatTestWithExpected("Uint32FieldMaxValueHex", REQUIRED,
"optional_uint32: 0xFFFFFFFF",
"optional_uint32: 4294967295");
RunValidTextFormatTestWithExpected("Int64FieldMaxValueHex", REQUIRED,
"optional_int64: 0x7FFFFFFFFFFFFFFF",
"optional_int64: 9223372036854775807");
RunValidTextFormatTestWithExpected("Int64FieldMinValueHex", REQUIRED,
"optional_int64: -0x8000000000000000",
"optional_int64: -9223372036854775808");
RunValidTextFormatTestWithExpected("Uint64FieldMaxValueHex", REQUIRED,
"optional_uint64: 0xFFFFFFFFFFFFFFFF",
"optional_uint64: 18446744073709551615");
// Integer fields - Octal
RunValidTextFormatTestWithExpected("Int32FieldMaxValueOctal", REQUIRED,
"optional_int32: 017777777777",
"optional_int32: 2147483647");
RunValidTextFormatTestWithExpected("Int32FieldMinValueOctal", REQUIRED,
"optional_int32: -020000000000",
"optional_int32: -2147483648");
RunValidTextFormatTestWithExpected("Uint32FieldMaxValueOctal", REQUIRED,
"optional_uint32: 037777777777",
"optional_uint32: 4294967295");
RunValidTextFormatTestWithExpected("Int64FieldMaxValueOctal", REQUIRED,
"optional_int64: 0777777777777777777777",
"optional_int64: 9223372036854775807");
RunValidTextFormatTestWithExpected("Int64FieldMinValueOctal", REQUIRED,
"optional_int64: -01000000000000000000000",
"optional_int64: -9223372036854775808");
RunValidTextFormatTestWithExpected("Uint64FieldMaxValueOctal", REQUIRED,
"optional_uint64: 01777777777777777777777",
"optional_uint64: 18446744073709551615");
// Parsers reject out-of-bound integer values.
ExpectParseFailure("Int32FieldTooLarge", REQUIRED,
@ -335,6 +373,32 @@ void TextFormatConformanceTestSuiteImpl<MessageType>::RunAllTests() {
"optional_int64: -9223372036854775809");
ExpectParseFailure("Uint64FieldTooLarge", REQUIRED,
"optional_uint64: 18446744073709551616");
// Parsers reject out-of-bound integer values - Hex
ExpectParseFailure("Int32FieldTooLargeHex", REQUIRED,
"optional_int32: 0x80000000");
ExpectParseFailure("Int32FieldTooSmallHex", REQUIRED,
"optional_int32: -0x80000001");
ExpectParseFailure("Uint32FieldTooLargeHex", REQUIRED,
"optional_uint32: 0x100000000");
ExpectParseFailure("Int64FieldTooLargeHex", REQUIRED,
"optional_int64: 0x8000000000000000");
ExpectParseFailure("Int64FieldTooSmallHex", REQUIRED,
"optional_int64: -0x8000000000000001");
ExpectParseFailure("Uint64FieldTooLargeHex", REQUIRED,
"optional_uint64: 0x10000000000000000");
// Parsers reject out-of-bound integer values - Octal
ExpectParseFailure("Int32FieldTooLargeOctal", REQUIRED,
"optional_int32: 020000000000");
ExpectParseFailure("Int32FieldTooSmallOctal", REQUIRED,
"optional_int32: -020000000001");
ExpectParseFailure("Uint32FieldTooLargeOctal", REQUIRED,
"optional_uint32: 040000000000");
ExpectParseFailure("Int64FieldTooLargeOctal", REQUIRED,
"optional_int64: 01000000000000000000000");
ExpectParseFailure("Int64FieldTooSmallOctal", REQUIRED,
"optional_int64: -01000000000000000000001");
ExpectParseFailure("Uint64FieldTooLargeOctal", REQUIRED,
"optional_uint64: 02000000000000000000000");
// Floating point fields
RunValidTextFormatTest("FloatField", REQUIRED, "optional_float: 3.192837");

Loading…
Cancel
Save