aboutsummaryrefslogtreecommitdiff
path: root/php
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2017-08-21 13:39:15 -0700
committerBo Yang <teboring@google.com>2017-08-21 13:39:15 -0700
commitdd5190980b8a9205eaf292f0cd947c3657daaeb1 (patch)
tree1c924ac0485bf23939fc6a4c3d9ce9bf4ff99418 /php
parent26ac3e8e242f1cd6de15291a9973905a14b546ba (diff)
downloadprotobuf-dd5190980b8a9205eaf292f0cd947c3657daaeb1.tar.gz
protobuf-dd5190980b8a9205eaf292f0cd947c3657daaeb1.tar.bz2
protobuf-dd5190980b8a9205eaf292f0cd947c3657daaeb1.zip
Use message name as defined in php runtime.
Diffstat (limited to 'php')
-rw-r--r--php/src/Google/Protobuf/Internal/GPBUtil.php2
-rw-r--r--php/src/Google/Protobuf/Internal/Message.php3
-rw-r--r--php/tests/generated_class_test.php12
-rw-r--r--php/tests/memory_leak_test.php2
-rw-r--r--php/tests/proto/test.proto7
5 files changed, 25 insertions, 1 deletions
diff --git a/php/src/Google/Protobuf/Internal/GPBUtil.php b/php/src/Google/Protobuf/Internal/GPBUtil.php
index 6fe36068..84e8ecf0 100644
--- a/php/src/Google/Protobuf/Internal/GPBUtil.php
+++ b/php/src/Google/Protobuf/Internal/GPBUtil.php
@@ -270,7 +270,7 @@ class GPBUtil
$name,
$file_proto)
{
- $classname = implode('_', array_map('ucwords', explode('.', $name)));
+ $classname = implode('_', explode('.', $name));
return static::getClassNamePrefix($classname, $file_proto) . $classname;
}
diff --git a/php/src/Google/Protobuf/Internal/Message.php b/php/src/Google/Protobuf/Internal/Message.php
index e1009f2f..8886e61a 100644
--- a/php/src/Google/Protobuf/Internal/Message.php
+++ b/php/src/Google/Protobuf/Internal/Message.php
@@ -76,6 +76,9 @@ class Message
}
$pool = DescriptorPool::getGeneratedPool();
$this->desc = $pool->getDescriptorByClassName(get_class($this));
+ if (is_null($this->desc)) {
+ user_error(get_class($this) . "is not found in descriptor pool.");
+ }
foreach ($this->desc->getField() as $field) {
$setter = $field->getSetter();
if ($field->isMap()) {
diff --git a/php/tests/generated_class_test.php b/php/tests/generated_class_test.php
index 86e68683..98918bce 100644
--- a/php/tests/generated_class_test.php
+++ b/php/tests/generated_class_test.php
@@ -14,6 +14,8 @@ use Foo\TestIncludePrefixMessage;
use Foo\TestMessage;
use Foo\TestMessage_Sub;
use Foo\TestReverseFieldOrder;
+use Foo\testLowerCaseMessage;
+use Foo\testLowerCaseEnum;
use Php\Test\TestNamespace;
class GeneratedClassTest extends TestBase
@@ -715,4 +717,14 @@ class GeneratedClassTest extends TestBase
$this->assertSame("abc", $m->getB());
$this->assertNotSame("abc", $m->getA());
}
+
+ #########################################################
+ # Test Reverse Field Order.
+ #########################################################
+
+ public function testLowerCase()
+ {
+ $m = new testLowerCaseMessage();
+ $n = testLowerCaseEnum::VALUE;
+ }
}
diff --git a/php/tests/memory_leak_test.php b/php/tests/memory_leak_test.php
index a92694d0..7c3a1801 100644
--- a/php/tests/memory_leak_test.php
+++ b/php/tests/memory_leak_test.php
@@ -23,6 +23,8 @@ require_once('generated/Foo/TestPhpDoc.php');
require_once('generated/Foo/TestRandomFieldOrder.php');
require_once('generated/Foo/TestReverseFieldOrder.php');
require_once('generated/Foo/TestUnpackedMessage.php');
+require_once('generated/Foo/testLowerCaseMessage.php');
+require_once('generated/Foo/testLowerCaseEnum.php');
require_once('generated/GPBMetadata/Proto/Test.php');
require_once('generated/GPBMetadata/Proto/TestEmptyPhpNamespace.php');
require_once('generated/GPBMetadata/Proto/TestInclude.php');
diff --git a/php/tests/proto/test.proto b/php/tests/proto/test.proto
index a90f3d1d..56cba446 100644
--- a/php/tests/proto/test.proto
+++ b/php/tests/proto/test.proto
@@ -192,3 +192,10 @@ message TestReverseFieldOrder {
repeated int32 a = 2;
string b = 1;
}
+
+message testLowerCaseMessage {
+}
+
+enum testLowerCaseEnum {
+ VALUE = 0;
+}