From fc90fd6df1db9c89e08eaf93a9a525928c459cdf Mon Sep 17 00:00:00 2001 From: Paul Yang Date: Fri, 20 Jul 2018 11:03:46 -0700 Subject: Make assertEquals pass for message (#4947) This change only makes assertEquals pass for message in c extension. However, it actually does nothing. This is the same behavior before 3.6.0 release. --- php/ext/google/protobuf/message.c | 8 +------- php/tests/generated_class_test.php | 13 +++++++++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/php/ext/google/protobuf/message.c b/php/ext/google/protobuf/message.c index 06853874..76b97eef 100644 --- a/php/ext/google/protobuf/message.c +++ b/php/ext/google/protobuf/message.c @@ -222,13 +222,7 @@ static zval* message_get_property_ptr_ptr(zval* object, zval* member, int type, } static HashTable* message_get_properties(zval* object TSRMLS_DC) { - // User cannot get property directly (e.g., $a = $m->a) - zend_error(E_USER_ERROR, "Cannot access private properties."); -#if PHP_MAJOR_VERSION < 7 - return zend_std_get_properties(object TSRMLS_CC); -#else - return zend_std_get_properties(object); -#endif + return NULL; } static HashTable* message_get_gc(zval* object, CACHED_VALUE** table, diff --git a/php/tests/generated_class_test.php b/php/tests/generated_class_test.php index 9f20bddc..8bac4e5e 100644 --- a/php/tests/generated_class_test.php +++ b/php/tests/generated_class_test.php @@ -1342,4 +1342,17 @@ class GeneratedClassTest extends TestBase TestUtil::assertTestMessage($m); } + + ######################################################### + # Test message equals. + ######################################################### + + public function testMessageEquals() + { + $m = new TestMessage(); + TestUtil::setTestMessage($m); + $n = new TestMessage(); + TestUtil::setTestMessage($n); + $this->assertEquals($m, $n); + } } -- cgit v1.2.3