All integer types should accept null in json. (#3869)

pull/3886/head
Paul Yang 7 years ago committed by GitHub
parent fe2b4af3d1
commit 188f18044f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      conformance/conformance_test.cc
  2. 11
      php/src/Google/Protobuf/Internal/Message.php

@ -1842,6 +1842,14 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner,
"optionalInt64": null,
"optionalUint32": null,
"optionalUint64": null,
"optionalSint32": null,
"optionalSint64": null,
"optionalFixed32": null,
"optionalFixed64": null,
"optionalSfixed32": null,
"optionalSfixed64": null,
"optionalFloat": null,
"optionalDouble": null,
"optionalBool": null,
"optionalString": null,
"optionalBytes": null,
@ -1851,6 +1859,14 @@ bool ConformanceTestSuite::RunSuite(ConformanceTestRunner* runner,
"repeatedInt64": null,
"repeatedUint32": null,
"repeatedUint64": null,
"repeatedSint32": null,
"repeatedSint64": null,
"repeatedFixed32": null,
"repeatedFixed64": null,
"repeatedSfixed32": null,
"repeatedSfixed64": null,
"repeatedFloat": null,
"repeatedDouble": null,
"repeatedBool": null,
"repeatedString": null,
"repeatedBytes": null,

@ -833,6 +833,8 @@ class Message
}
return $value;
case GPBType::INT32:
case GPBType::SINT32:
case GPBType::SFIXED32:
if (is_null($value)) {
return $this->defaultValue($field);
}
@ -850,6 +852,7 @@ class Message
}
return $value;
case GPBType::UINT32:
case GPBType::FIXED32:
if (is_null($value)) {
return $this->defaultValue($field);
}
@ -863,6 +866,8 @@ class Message
}
return $value;
case GPBType::INT64:
case GPBType::SINT64:
case GPBType::SFIXED64:
if (is_null($value)) {
return $this->defaultValue($field);
}
@ -880,6 +885,7 @@ class Message
}
return $value;
case GPBType::UINT64:
case GPBType::FIXED64:
if (is_null($value)) {
return $this->defaultValue($field);
}
@ -895,11 +901,6 @@ class Message
$value = bcsub($value, "18446744073709551616");
}
return $value;
case GPBType::FIXED64:
if (is_null($value)) {
return $this->defaultValue($field);
}
return $value;
default:
return $value;
}

Loading…
Cancel
Save