| 
					
				 | 
			
			
				@@ -9,14 +9,10 @@ use Foo\TestMessage_Sub; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Foo\TestPackedMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Google\Protobuf\Internal\InputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Google\Protobuf\Internal\FileDescriptorSet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use Google\Protobuf\Internal\GPBUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use Google\Protobuf\Internal\Int64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use Google\Protobuf\Internal\Uint64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Google\Protobuf\Internal\GPBLabel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Google\Protobuf\Internal\GPBType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Google\Protobuf\Internal\GPBWire; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Google\Protobuf\Internal\OutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-use Google\Protobuf\Internal\RepeatedField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -68,17 +64,17 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Positive number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("01")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readInt64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(1, $value->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Negative number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("ffffffffffffffffff01")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readInt64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(-1, $value->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(-1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Discard overflow bits. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("ffffffffffffffffff0f")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readInt64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(-1, $value->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(-1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function testReadUint64() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,17 +84,17 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Positive number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("01")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readUint64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(1, $value->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Negative number. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("FFFFFFFFFFFFFFFFFF01")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readUint64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(-1, $value->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(-1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Discard overflow bits. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("FFFFFFFFFFFFFFFFFF0F")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readUint64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(-1, $value->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(-1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function testReadSint32() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -124,15 +120,15 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("00")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readSint64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(0), $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(0, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("01")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readSint64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(-1), $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(-1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("02")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readSint64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(1), $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertEquals(1, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function testReadFixed32() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,7 +144,11 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $value = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("1234567812345678")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readFixed64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(Uint64::newValue(0x78563412, 0x78563412), $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PHP_INT_SIZE == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame("8671175386481439762", $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(0x7856341278563412, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function testReadSfixed32() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -193,7 +193,11 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $value = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin("1234567812345678")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         GPBWire::readSfixed64($input, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(Int64::newValue(0x78563412, 0x78563412), $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PHP_INT_SIZE == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame("8671175386481439762", $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(0x7856341278563412, $value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function testZigZagEncodeDecode() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -214,43 +218,65 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertSame(0x3FFFFFFF,  GPBWire::zigZagDecode32(0x7FFFFFFE)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertSame(-1073741824, GPBWire::zigZagDecode32(0x7FFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertSame(0x7FFFFFFF,  GPBWire::zigZagDecode32(0xFFFFFFFE)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(-2147483648, GPBWire::zigZagDecode32(0xFFFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Uint64(0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagEncode64(GPBUtil::Int64(0))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Uint64(1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagEncode64(GPBUtil::Int64(-1))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Uint64(2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagEncode64(GPBUtil::Int64(1))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Uint64(3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagEncode64(GPBUtil::Int64(-2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBUtil::Uint64(0x000000007FFFFFFE), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBWire::zigZagEncode64(GPBUtil::Int64(0x000000003FFFFFFF))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBUtil::Uint64(0x000000007FFFFFFF), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBWire::zigZagEncode64(GPBUtil::Int64(0xFFFFFFFFC0000000))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBUtil::Uint64(0x00000000FFFFFFFE), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBWire::zigZagEncode64(GPBUtil::Int64(0x000000007FFFFFFF))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBUtil::Uint64(0x00000000FFFFFFFF), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBWire::zigZagEncode64(GPBUtil::Int64(0xFFFFFFFF80000000))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Uint64::newValue(4294967295, 4294967294), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBWire::zigZagEncode64(GPBUtil::Int64(0x7FFFFFFFFFFFFFFF))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Uint64::newValue(4294967295, 4294967295), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        GPBWire::zigZagEncode64(GPBUtil::Int64(0x8000000000000000))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(0), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagDecode64(GPBUtil::Uint64(0))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(-1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagDecode64(GPBUtil::Uint64(1))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagDecode64(GPBUtil::Uint64(2))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertEquals(GPBUtil::Int64(-2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        GPBWire::zigZagDecode64(GPBUtil::Uint64(3))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->assertSame((int)-2147483648,GPBWire::zigZagDecode32(0xFFFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PHP_INT_SIZE == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('0', GPBWire::zigZagEncode64(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('1', GPBWire::zigZagEncode64(-1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('2', GPBWire::zigZagEncode64(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('3', GPBWire::zigZagEncode64(-2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                '2147483646',  // 0x7FFFFFE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(0x3FFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                '2147483647',  // 0x7FFFFFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(-1073741824));  // 0xFFFFFFFFC0000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                '4294967294',                           // 0xFFFFFFFE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(2147483647));   // 0x7FFFFFFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                '4294967295',                           // 0xFFFFFFFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(-2147483648));  // 0xFFFFFFFF80000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                '18446744073709551614',  // 0xFFFFFFFFFFFFFFFE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         // 0x7FFFFFFFFFFFFFFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64("9223372036854775807")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                '18446744073709551615',  // 0xFFFFFFFFFFFFFFFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                         // 0x8000000000000000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64("-9223372036854775808")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('0', GPBWire::zigZagDecode64(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('-1', GPBWire::zigZagDecode64(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('1', GPBWire::zigZagDecode64(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('-2', GPBWire::zigZagDecode64(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(0, GPBWire::zigZagEncode64(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(1, GPBWire::zigZagEncode64(-1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(2, GPBWire::zigZagEncode64(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(3, GPBWire::zigZagEncode64(-2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(0x7FFFFFFE, GPBWire::zigZagEncode64(0x3FFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                0x7FFFFFFF, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(0xFFFFFFFFC0000000)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                0xFFFFFFFE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(0x7FFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                0xFFFFFFFF, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(0xFFFFFFFF80000000)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -2,  // 0xFFFFFFFFFFFFFFFE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(0x7FFFFFFFFFFFFFFF)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -1,  // 0xFFFFFFFFFFFFFFFF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GPBWire::zigZagEncode64(0x8000000000000000)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(0, GPBWire::zigZagDecode64(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(-1, GPBWire::zigZagDecode64(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(1, GPBWire::zigZagDecode64(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(-2, GPBWire::zigZagDecode64(3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Round trip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertSame(0, GPBWire::zigZagDecode32(GPBWire::zigZagEncode32(0))); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -319,15 +345,27 @@ class ImplementationTest extends TestBase 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Normal case. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin('808001')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertTrue($input->readVarint64($var)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(16384, $var->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PHP_INT_SIZE == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('16384', $var); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(16384, $var); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertFalse($input->readVarint64($var)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // Read two varint. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $input = new InputStream(hex2bin('808001808002')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertTrue($input->readVarint64($var)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(16384, $var->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PHP_INT_SIZE == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('16384', $var); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(16384, $var); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertTrue($input->readVarint64($var)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $this->assertSame(32768, $var->toInteger()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (PHP_INT_SIZE == 4) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame('32768', $var); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->assertSame(32768, $var); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $this->assertFalse($input->readVarint64($var)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |