Fixed PHP to support field numbers >=2**28. (#8235)

This commit is contained in:
Joshua Haberman 2021-01-27 10:12:59 -08:00 committed by GitHub
parent f6da785731
commit d5079ed7db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 2336 additions and 431 deletions

View file

@ -14,6 +14,7 @@ use Foo\TestStringValue;
use Foo\TestBytesValue;
use Foo\TestAny;
use Foo\TestEnum;
use Foo\TestLargeFieldNumber;
use Foo\TestMessage;
use Foo\TestMessage\Sub;
use Foo\TestPackedMessage;
@ -529,6 +530,15 @@ class EncodeDecodeTest extends TestBase
$this->assertSame("", $data);
}
public function testLargeFieldNumber()
{
$m = new TestLargeFieldNumber(['large_field_number' => 5]);
$data = $m->serializeToString();
$m2 = new TestLargeFieldNumber();
$m2->mergeFromString($data);
$this->assertSame(5, $m2->getLargeFieldNumber());
}
public function testDecodeInvalidInt32()
{
$this->expectException(Exception::class);