diff options
Diffstat (limited to 'bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/UserTest.php')
-rw-r--r-- | bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/UserTest.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/UserTest.php b/bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/UserTest.php new file mode 100644 index 00000000..fcf89994 --- /dev/null +++ b/bin/wiki/vendor/addwiki/mediawiki-datamodel/tests/UserTest.php @@ -0,0 +1,59 @@ +<?php + +namespace Mediawiki\DataModel\Test; + +use Mediawiki\DataModel\User; + +/** + * @covers \Mediawiki\DataModel\User + * @author Addshore + */ +class UserTest extends \PHPUnit_Framework_TestCase { + + /** + * @dataProvider provideValidConstruction + */ + public function testValidConstruction( $name, $id, $editcount, $registration, $groups, $rights, $gender ) { + $user = new User( $name, $id, $editcount, $registration, $groups, $rights, $gender ); + $this->assertEquals( $name, $user->getName() ); + $this->assertEquals( $id, $user->getId() ); + $this->assertEquals( $editcount, $user->getEditcount() ); + $this->assertEquals( $registration, $user->getRegistration() ); + $this->assertEquals( $groups['groups'], $user->getGroups() ); + $this->assertEquals( $groups['implicitgroups'], $user->getGroups( 'implicitgroups' ) ); + $this->assertEquals( $rights, $user->getRights() ); + $this->assertEquals( $gender, $user->getGender() ); + } + + public function provideValidConstruction() { + return array( + array( 'Username', 1, 1, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'male' ), + array( 'Username', 1, 1, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'female' ), + array( 'Username', 99999999, 99999997, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'male' ), + array( 'Username', 1, 1, null, array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'female' ), + ); + } + + /** + * @dataProvider provideInvalidConstruction + */ + public function testInvalidConstruction( $name, $id, $editcount, $registration, $groups, $rights, $gender ) { + $this->setExpectedException( 'InvalidArgumentException' ); + new User( $name, $id, $editcount, $registration, $groups, $rights, $gender ); + } + + public function provideInvalidConstruction() { + return array( + array( 'Username', 1, 1, 'TIMESTAMP', 'bad', array(), 'male' ), + array( 'Username', 1, 1, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), 'bad', 'male' ), + array( 'Username', 1, 1, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 1 ), + array( 'Username', 1, 'bad', 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'male' ), + array( 'Username', 'bad', 1, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'male' ), + array( 14287941, 1, 1, 'TIMESTAMP', array( 'groups' => array(), 'implicitgroups' => array() ), array(), 'male' ), + array( 'Username', 1, 1, 'TIMESTAMP', array( 'groups' => array(), 'foo' => array() ), array(), 'male' ), + array( 'Username', 1, 1, 'TIMESTAMP', array( 'groups' => array() ), array(), 'male' ), + array( 'Username', 1, 1, 'TIMESTAMP', array(), array(), 'male' ), + ); + } + +} |