|
@@ -366,6 +366,36 @@ class ImplementationTest extends TestBase
|
|
$this->assertSame(32768, $var);
|
|
$this->assertSame(32768, $var);
|
|
}
|
|
}
|
|
$this->assertFalse($input->readVarint64($var));
|
|
$this->assertFalse($input->readVarint64($var));
|
|
|
|
+
|
|
|
|
+ // Read 64 testing
|
|
|
|
+ if (PHP_INT_SIZE > 4) {
|
|
|
|
+ $testVals = array(
|
|
|
|
+ '10' => '0a000000000000000000',
|
|
|
|
+ '100' => '64000000000000000000',
|
|
|
|
+ '800' => 'a0060000000000000000',
|
|
|
|
+ '6400' => '80320000000000000000',
|
|
|
|
+ '70400' => '80a60400000000000000',
|
|
|
|
+ '774400' => '80a22f00000000000000',
|
|
|
|
+ '9292800' => '8098b704000000000000',
|
|
|
|
+ '74342400' => '80c0b923000000000000',
|
|
|
|
+ '743424000' => '8080bfe2020000000000',
|
|
|
|
+ '8177664000' => '8080b5bb1e0000000000',
|
|
|
|
+ '65421312000' => '8080a8dbf30100000000',
|
|
|
|
+ '785055744000' => '8080e0c7ec1600000000',
|
|
|
|
+ '9420668928000' => '808080dd969202000000',
|
|
|
|
+ '103627358208000' => '808080fff9c717000000',
|
|
|
|
+ '1139900940288000' => '808080f5bd9783020000',
|
|
|
|
+ '13678811283456000' => '808080fce699a6180000',
|
|
|
|
+ '109430490267648000' => '808080e0b7ceb1c20100',
|
|
|
|
+ '984874412408832000' => '808080e0f5c1bed50d00',
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ foreach ($testVals as $original => $encoded) {
|
|
|
|
+ $input = new InputStream(hex2bin($encoded));
|
|
|
|
+ $this->assertTrue($input->readVarint64($var));
|
|
|
|
+ $this->assertSame($original, $var);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
public function testReadVarint32()
|
|
public function testReadVarint32()
|