Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
345 lines
11 KiB
345 lines
11 KiB
<?php |
|
|
|
require_once('generated/NoNamespaceEnum.php'); |
|
require_once('generated/NoNamespaceMessage.php'); |
|
require_once('test_base.php'); |
|
require_once('test_util.php'); |
|
|
|
use Foo\TestMessage; |
|
|
|
class GeneratedPhpdocTest extends TestBase |
|
{ |
|
public function testPhpDocForClass() |
|
{ |
|
$class = new ReflectionClass('Foo\TestMessage'); |
|
$doc = $class->getDocComment(); |
|
$this->assertContains('foo.TestMessage', $doc); |
|
} |
|
|
|
public function testPhpDocForConstructor() |
|
{ |
|
$class = new ReflectionClass('Foo\TestMessage'); |
|
$doc = $class->getMethod('__construct')->getDocComment(); |
|
$this->assertContains('@param array $data', $doc); |
|
$this->assertContains('@type int $optional_int32', $doc); |
|
} |
|
|
|
/** |
|
* @dataProvider providePhpDocForGettersAndSetters |
|
*/ |
|
public function testPhpDocForIntGetters($methods, $expectedDoc) |
|
{ |
|
$class = new ReflectionClass('Foo\TestMessage'); |
|
foreach ($methods as $method) { |
|
$doc = $class->getMethod($method)->getDocComment(); |
|
$this->assertContains($expectedDoc, $doc); |
|
} |
|
} |
|
|
|
public function providePhpDocForGettersAndSetters() |
|
{ |
|
return [ |
|
[ |
|
[ |
|
'setOptionalInt32', |
|
'setOptionalUint32', |
|
'setOptionalSint32', |
|
'setOptionalFixed32', |
|
'setOptionalSfixed32', |
|
'setOneofInt32', |
|
'setOneofUint32', |
|
'setOneofSint32', |
|
'setOneofFixed32', |
|
'setOneofSfixed32', |
|
'setOptionalEnum', |
|
'setOptionalNoNamespaceEnum', |
|
'setOptionalNestedEnum', |
|
'setOneofEnum' |
|
], |
|
'@param int $var' |
|
], |
|
[ |
|
[ |
|
'setOptionalInt64', |
|
'setOptionalUint64', |
|
'setOptionalSint64', |
|
'setOptionalFixed64', |
|
'setOptionalSfixed64', |
|
'setOneofInt64', |
|
'setOneofUint64', |
|
'setOneofSint64', |
|
'setOneofFixed64', |
|
'setOneofSfixed64', |
|
], |
|
'@param int|string $var' |
|
], |
|
[ |
|
[ |
|
'getOptionalInt32', |
|
'getOptionalUint32', |
|
'getOptionalSint32', |
|
'getOptionalFixed32', |
|
'getOptionalSfixed32', |
|
'getOneofInt32', |
|
'getOneofUint32', |
|
'getOneofSint32', |
|
'getOneofFixed32', |
|
'getOneofSfixed32', |
|
'getOptionalEnum', |
|
'getOptionalNoNamespaceEnum', |
|
'getOptionalNestedEnum', |
|
'getOneofEnum', |
|
], |
|
'@return int' |
|
], |
|
[ |
|
[ |
|
'setOptionalInt64', |
|
'setOptionalUint64', |
|
'setOptionalSint64', |
|
'setOptionalFixed64', |
|
'setOptionalSfixed64', |
|
'setOneofInt64', |
|
'setOneofUint64', |
|
'setOneofSint64', |
|
'setOneofFixed64', |
|
'setOneofSfixed64', |
|
], |
|
'@param int|string $var' |
|
], |
|
[ |
|
[ |
|
'getRepeatedInt32', |
|
'getRepeatedInt64', |
|
'getRepeatedUint32', |
|
'getRepeatedUint64', |
|
'getRepeatedSint32', |
|
'getRepeatedSint64', |
|
'getRepeatedFixed32', |
|
'getRepeatedFixed64', |
|
'getRepeatedSfixed32', |
|
'getRepeatedSfixed64', |
|
'getRepeatedFloat', |
|
'getRepeatedDouble', |
|
'getRepeatedBool', |
|
'getRepeatedString', |
|
'getRepeatedBytes', |
|
'getRepeatedEnum', |
|
'getRepeatedMessage', |
|
'getRepeatedRecursive', |
|
'getRepeatedNoNamespaceMessage', |
|
'getRepeatedNoNamespaceEnum', |
|
], |
|
'@return \Google\Protobuf\Internal\RepeatedField' |
|
], |
|
[ |
|
[ |
|
'getMapInt32Int32', |
|
'getMapInt64Int64', |
|
'getMapUint32Uint32', |
|
'getMapUint64Uint64', |
|
'getMapSint32Sint32', |
|
'getMapSint64Sint64', |
|
'getMapFixed32Fixed32', |
|
'getMapFixed64Fixed64', |
|
'getMapSfixed32Sfixed32', |
|
'getMapSfixed64Sfixed64', |
|
'getMapInt32Float', |
|
'getMapInt32Double', |
|
'getMapBoolBool', |
|
'getMapStringString', |
|
'getMapInt32Bytes', |
|
'getMapInt32Enum', |
|
'getMapInt32Message', |
|
'getMapRecursive', |
|
], |
|
'@return \Google\Protobuf\Internal\MapField' |
|
], |
|
[ |
|
[ |
|
'setRepeatedInt32', |
|
'setRepeatedUint32', |
|
'setRepeatedSint32', |
|
'setRepeatedFixed32', |
|
'setRepeatedSfixed32', |
|
'setRepeatedEnum', |
|
'setRepeatedNoNamespaceEnum', |
|
], |
|
'@param int[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedInt64', |
|
'setRepeatedUint64', |
|
'setRepeatedSint64', |
|
'setRepeatedFixed64', |
|
'setRepeatedSfixed64', |
|
], |
|
'@param int[]|string[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedFloat', |
|
'setRepeatedDouble', |
|
], |
|
'@param float[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedBool', |
|
], |
|
'@param bool[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedString', |
|
'setRepeatedBytes', |
|
], |
|
'@param string[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedMessage', |
|
], |
|
'@param \Foo\TestMessage\Sub[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedRecursive', |
|
], |
|
'@param \Foo\TestMessage[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setRepeatedNoNamespaceMessage', |
|
], |
|
'@param \NoNamespaceMessage[]|\Google\Protobuf\Internal\RepeatedField $var' |
|
], |
|
[ |
|
[ |
|
'setMapInt32Int32', |
|
'setMapInt64Int64', |
|
'setMapUint32Uint32', |
|
'setMapUint64Uint64', |
|
'setMapSint32Sint32', |
|
'setMapSint64Sint64', |
|
'setMapFixed32Fixed32', |
|
'setMapFixed64Fixed64', |
|
'setMapSfixed32Sfixed32', |
|
'setMapSfixed64Sfixed64', |
|
'setMapInt32Float', |
|
'setMapInt32Double', |
|
'setMapBoolBool', |
|
'setMapStringString', |
|
'setMapInt32Bytes', |
|
'setMapInt32Enum', |
|
'setMapInt32Message', |
|
'setMapRecursive', |
|
], |
|
'@param array|\Google\Protobuf\Internal\MapField $var' |
|
], |
|
[ |
|
[ |
|
'getOptionalFloat', |
|
'getOptionalDouble', |
|
'getOneofDouble', |
|
'getOneofFloat', |
|
], |
|
'@return float' |
|
], |
|
[ |
|
[ |
|
'setOptionalFloat', |
|
'setOptionalDouble', |
|
'setOneofDouble', |
|
'setOneofFloat', |
|
], |
|
'@param float $var' |
|
], |
|
[ |
|
[ |
|
'getOptionalBool', |
|
'getOneofBool', |
|
], |
|
'@return bool'], |
|
[ |
|
[ |
|
'setOptionalBool', |
|
'setOneofBool', |
|
], |
|
'@param bool $var' |
|
], |
|
[ |
|
[ |
|
'getOptionalString', |
|
'getOptionalBytes', |
|
'getOneofString', |
|
'getOneofBytes', |
|
'getMyOneof', |
|
], |
|
'@return string' |
|
], |
|
[ |
|
[ |
|
'setOptionalString', |
|
'setOptionalBytes', |
|
'setOneofString', |
|
'setOneofBytes', |
|
], |
|
'@param string $var' |
|
], |
|
|
|
[ |
|
[ |
|
'getOptionalMessage', |
|
'getOneofMessage' |
|
], |
|
'@return \Foo\TestMessage\Sub' |
|
], |
|
[ |
|
[ |
|
'setOptionalMessage', |
|
'setOneofMessage' |
|
], |
|
'@param \Foo\TestMessage\Sub $var' |
|
], |
|
[ |
|
[ |
|
'getOptionalIncludedMessage' |
|
], |
|
'@return \Bar\TestInclude' |
|
], |
|
[ |
|
[ |
|
'setOptionalIncludedMessage' |
|
], |
|
'@param \Bar\TestInclude $var' |
|
], |
|
[ |
|
[ |
|
'getRecursive' |
|
], |
|
'@return \Foo\TestMessage' |
|
], |
|
[ |
|
[ |
|
'setRecursive' |
|
], |
|
'@param \Foo\TestMessage $var' |
|
], |
|
|
|
[ |
|
[ |
|
'getOptionalNoNamespaceMessage' |
|
], |
|
'@return \NoNamespaceMessage' |
|
], |
|
[ |
|
[ |
|
'setOptionalNoNamespaceMessage' |
|
], |
|
'@param \NoNamespaceMessage $var' |
|
], |
|
]; |
|
} |
|
}
|
|
|