From a467a3c455b1078de6076121886837d103ce41be Mon Sep 17 00:00:00 2001 From: uckelman Date: Sun, 31 Oct 2010 20:57:51 +0000 Subject: Renamed. git-svn-id: https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk@7432 67b53d14-2c14-4ace-a08f-0dab2b34000c --- test/PhpBB3ImplTest.php | 171 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 test/PhpBB3ImplTest.php (limited to 'test/PhpBB3ImplTest.php') diff --git a/test/PhpBB3ImplTest.php b/test/PhpBB3ImplTest.php new file mode 100644 index 0000000..63a828d --- /dev/null +++ b/test/PhpBB3ImplTest.php @@ -0,0 +1,171 @@ +. +# + +require_once('PHPUnit/Framework.php'); + +class PhpBB3ImplTest extends PHPUnit_Framework_TestCase { + + /** + * phpBB3 uses many globals; due to the way tests are run, we cannot + * easily get these globals into the right scope so that the methods + * called by our tests can see them. Therefore, we use this function + * to run tests externally and report back on the results. + */ + protected function exec_kludge($run) { + $prog = <<$run); +} +catch (Exception \$e) { + \$result = serialize(\$e); +} + +print \$result; +EOF; + + $result = unserialize(exec('php -r \'' . $prog . '\'')); + + if ($result instanceof Exception) { + throw $result; + } + + return $result; + } + + /** + * @dataProvider providerGetUserId + */ + public function testGetUserId($from, $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $run = 'getUserId("' . $from . '")'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerGetUserId() { + return array( + array(null, null, 'Exception'), + array('bogus', false, null), + array('uckelman@nomic.net', 2, null) + ); + } + + /** + * @dataProvider providerGetUserName + */ + public function testGetUserName($id, $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $run = 'getUserName(' . $id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerGetUserName() { + return array( + array(0, null, 'Exception'), + array(2, 'admin', null ) + ); + } + + /** + * @dataProvider providerGetTopicAndForumIds + */ + public function testGetTopicAndForumIds($post_id, $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $run = 'getTopicAndForumIds(' . $post_id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerGetTopicAndForumIds() { + return array( + array(null, null, 'Exception'), + array(0, false, null), + array(2, array('topic_id' => 2, 'forum_id' => 2), null) + ); + } + + /** + * @dataProvider providerForumExists + */ + public function testForumExists($forum_id, $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $run = 'forumExists(' . $forum_id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerForumExists() { + return array( + array('bogus', null, 'Exception'), + array(0, false, null), + array(2, true, null) + ); + } + + /** + * @dataProvider providerTopicStatus + */ + public function testTopicStatus($topic_id, $expected, $ex) { + if ($ex) $this->setExpectedException($ex); + $run = 'topicStatus(' . $topic_id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerTopicStatus() { + return array( + array('bogus', null, 'Exception'), + array(0, false, null), + array(1, 0, null) + ); + } + + /** + * @dataProvider providerGetPostTime + */ + public function testGetPostTime($post_id, $expected, $ex) { + $this->markTestIncomplete(); + + if ($ex) $this->setExpectedException($ex); + $run = 'getPostTime(' . $post_id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerGetPostTime() { + return array( + ); + } + + /** + * @dataProvider providerGetAttachmentData + */ + public function testGetAttachmentData($attach_id, $expected, $ex) { + $this->markTestIncomplete(); + + if ($ex) $this->setExpectedException($ex); + $run = 'getAttachmentData(' . $attach_id . ')'; + $this->assertEquals($expected, $this->exec_kludge($run)); + } + + public function providerGetAttachmentData() { + return array( + ); + } +} -- cgit v1.2.3