for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Wikibase\DataModel\Tests\Entity;
use PHPUnit_Framework_TestCase;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\ItemIdParser;
/**
* @covers Wikibase\DataModel\Entity\ItemIdParser
*
* @licence GNU GPL v2+
* @author Thiemo Mättig
*/
class ItemIdParserTest extends PHPUnit_Framework_TestCase {
* @dataProvider entityIdProvider
public function testCanParseEntityId( $idString, ItemId $expected ) {
$parser = new ItemIdParser();
$actual = $parser->parse( $idString );
$this->assertEquals( $actual, $expected );
}
public function entityIdProvider() {
return array(
array( 'q42', new ItemId( 'Q42' ) ),
array( 'Q1337', new ItemId( 'Q1337' ) ),
);
* @dataProvider invalidIdSerializationProvider
public function testCannotParseInvalidId( $invalidIdSerialization ) {
$this->setExpectedException( 'Wikibase\DataModel\Entity\EntityIdParsingException' );
$parser->parse( $invalidIdSerialization );
public function invalidIdSerializationProvider() {
array( 'FOO' ),
array( null ),
array( 42 ),
array( array() ),
array( '' ),
array( 'q0' ),
array( '1p' ),
array( 'p1' ),
array( 'P100000' ),