aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rw-r--r--php/phpunit.xml2
-rw-r--r--php/src/Google/Protobuf/Internal/DescriptorPool.php20
-rwxr-xr-xphp/tests/autoload.php2
-rw-r--r--php/tests/bootstrap_phpunit.php5
5 files changed, 25 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index 0c93debe..e41bdff9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -674,6 +674,7 @@ php_EXTRA_DIST= \
php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php \
php/tests/array_test.php \
php/tests/autoload.php \
+ php/tests/bootstrap_phpunit.php \
php/tests/compatibility_test.sh \
php/tests/descriptors_test.php \
php/tests/encode_decode_test.php \
diff --git a/php/phpunit.xml b/php/phpunit.xml
index d7077038..87440bbd 100644
--- a/php/phpunit.xml
+++ b/php/phpunit.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<phpunit bootstrap="./vendor/autoload.php"
+<phpunit bootstrap="./tests/bootstrap_phpunit.php"
colors="true">
<testsuites>
<testsuite name="protobuf-tests">
diff --git a/php/src/Google/Protobuf/Internal/DescriptorPool.php b/php/src/Google/Protobuf/Internal/DescriptorPool.php
index 65d1a884..304c1615 100644
--- a/php/src/Google/Protobuf/Internal/DescriptorPool.php
+++ b/php/src/Google/Protobuf/Internal/DescriptorPool.php
@@ -109,18 +109,30 @@ class DescriptorPool
public function getDescriptorByClassName($klass)
{
- return $this->class_to_desc[$klass];
+ if (isset($this->class_to_desc[$klass])) {
+ return $this->class_to_desc[$klass];
+ } else {
+ return null;
+ }
}
public function getEnumDescriptorByClassName($klass)
{
- return $this->class_to_enum_desc[$klass];
+ if (isset($this->class_to_enum_desc[$klass])) {
+ return $this->class_to_enum_desc[$klass];
+ } else {
+ return null;
+ }
}
public function getDescriptorByProtoName($proto)
{
- $klass = $this->proto_to_class[$proto];
- return $this->class_to_desc[$klass];
+ if (isset($this->proto_to_class[$proto])) {
+ $klass = $this->proto_to_class[$proto];
+ return $this->class_to_desc[$klass];
+ } else {
+ return null;
+ }
}
public function getEnumDescriptorByProtoName($proto)
diff --git a/php/tests/autoload.php b/php/tests/autoload.php
index 0a917fc5..b98b13ab 100755
--- a/php/tests/autoload.php
+++ b/php/tests/autoload.php
@@ -1,5 +1,7 @@
<?php
+error_reporting(E_ALL);
+
function getGeneratedFiles($dir, &$results = array())
{
$files = scandir($dir);
diff --git a/php/tests/bootstrap_phpunit.php b/php/tests/bootstrap_phpunit.php
new file mode 100644
index 00000000..8452f158
--- /dev/null
+++ b/php/tests/bootstrap_phpunit.php
@@ -0,0 +1,5 @@
+<?php
+
+require_once("vendor/autoload.php");
+
+error_reporting(E_ALL);