aboutsummaryrefslogtreecommitdiff
path: root/conformance/conformance_php.php
diff options
context:
space:
mode:
Diffstat (limited to 'conformance/conformance_php.php')
-rwxr-xr-xconformance/conformance_php.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/conformance/conformance_php.php b/conformance/conformance_php.php
index 85fe3d03..799cc3e3 100755
--- a/conformance/conformance_php.php
+++ b/conformance/conformance_php.php
@@ -3,6 +3,7 @@
require_once("Conformance/WireFormat.php");
require_once("Conformance/ConformanceResponse.php");
require_once("Conformance/ConformanceRequest.php");
+require_once("Conformance/TestCategory.php");
require_once("Protobuf_test_messages/Proto3/ForeignMessage.php");
require_once("Protobuf_test_messages/Proto3/ForeignEnum.php");
require_once("Protobuf_test_messages/Proto3/TestAllTypesProto3.php");
@@ -12,6 +13,7 @@ require_once("Protobuf_test_messages/Proto3/TestAllTypesProto3/NestedEnum.php");
require_once("GPBMetadata/Conformance.php");
require_once("GPBMetadata/Google/Protobuf/TestMessagesProto3.php");
+use \Conformance\TestCategory;
use \Conformance\WireFormat;
if (!ini_get("date.timezone")) {
@@ -39,8 +41,12 @@ function doTest($request)
trigger_error("Protobuf request doesn't have specific payload type", E_USER_ERROR);
}
} elseif ($request->getPayload() == "json_payload") {
+ $ignore_json_unknown =
+ ($request->getTestCategory() ==
+ TestCategory::JSON_IGNORE_UNKNOWN_PARSING_TEST);
try {
- $test_message->mergeFromJsonString($request->getJsonPayload());
+ $test_message->mergeFromJsonString($request->getJsonPayload(),
+ $ignore_json_unknown);
} catch (Exception $e) {
$response->setParseError($e->getMessage());
return $response;