diff options
author | Jisi Liu <liujisi@google.com> | 2018-01-04 14:26:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-04 14:26:24 -0800 |
commit | a3868af12be724f808faa21a29e7b4931e30bed1 (patch) | |
tree | 3df23c4174287023b569108eb133db0f9c310646 /php/tests/memory_leak_test.php | |
parent | eca1d2a7113b3d57f900f69661342c0078c956c4 (diff) | |
parent | ec826c5a592126ddb6b12b47e6e1fb6232ce340d (diff) | |
download | protobuf-a3868af12be724f808faa21a29e7b4931e30bed1.tar.gz protobuf-a3868af12be724f808faa21a29e7b4931e30bed1.tar.bz2 protobuf-a3868af12be724f808faa21a29e7b4931e30bed1.zip |
Merge pull request #4131 from pherl/merge
Merge 3.5.x branch into master
Diffstat (limited to 'php/tests/memory_leak_test.php')
-rw-r--r-- | php/tests/memory_leak_test.php | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/php/tests/memory_leak_test.php b/php/tests/memory_leak_test.php index b76c8bff..507635e7 100644 --- a/php/tests/memory_leak_test.php +++ b/php/tests/memory_leak_test.php @@ -50,7 +50,8 @@ $to->mergeFromString($data); TestUtil::assertTestMessage($to); -$from->setRecursive($from); +// TODO(teboring): This causes following tests fail in php7. +# $from->setRecursive($from); $arr = new RepeatedField(GPBType::MESSAGE, TestMessage::class); $arr[] = new TestMessage; @@ -105,6 +106,47 @@ $m = new TestMessage(); $m->mergeFromString(hex2bin('F80601')); assert('F80601', bin2hex($m->serializeToString())); +// Test create repeated field via array. +$str_arr = array("abc"); +$m = new TestMessage(); +$m->setRepeatedString($str_arr); + +// Test create map field via array. +$str_arr = array("abc"=>"abc"); +$m = new TestMessage(); +$m->setMapStringString($str_arr); + +// Test unset +$from = new TestMessage(); +TestUtil::setTestMessage($from); +unset($from); + +// Test wellknown +$from = new \Google\Protobuf\Timestamp(); +$from->setSeconds(1); +assert(1, $from->getSeconds()); + +$timestamp = new \Google\Protobuf\Timestamp(); + +date_default_timezone_set('UTC'); +$from = new DateTime('2011-01-01T15:03:01.012345UTC'); +$timestamp->fromDateTime($from); +assert($from->format('U') == $timestamp->getSeconds()); +assert(0 == $timestamp->getNanos()); + +$to = $timestamp->toDateTime(); +assert(\DateTime::class == get_class($to)); +assert($from->format('U') == $to->format('U')); + +$from = new \Google\Protobuf\Value(); +$from->setNumberValue(1); +assert(1, $from->getNumberValue()); + +// Test descriptor +$pool = \Google\Protobuf\DescriptorPool::getGeneratedPool(); +$desc = $pool->getDescriptorByClassName("\Foo\TestMessage"); +$field = $desc->getField(1); + # $from = new TestMessage(); # $to = new TestMessage(); # TestUtil::setTestMessage($from); |