From 7ae29fa453970036576e8b18fe228c24a25e94ff Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 25 Feb 2013 15:00:16 +0000 Subject: refactor info functions test pageinfo() test no longer required, unit test committed elsewhere and verified against both previous and updated versions of pageinfo() fn. basicinfo() and mediainfo() tests separated each into their own test file. --- _test/tests/inc/common_basicinfo.test.php | 114 ++++++++++++++++++++++++++ _test/tests/inc/common_infofunctions.test.php | 114 -------------------------- _test/tests/inc/common_mediainfo.test.php | 49 +++++++++++ 3 files changed, 163 insertions(+), 114 deletions(-) create mode 100644 _test/tests/inc/common_basicinfo.test.php delete mode 100644 _test/tests/inc/common_infofunctions.test.php create mode 100644 _test/tests/inc/common_mediainfo.test.php diff --git a/_test/tests/inc/common_basicinfo.test.php b/_test/tests/inc/common_basicinfo.test.php new file mode 100644 index 000000000..2e383ef8b --- /dev/null +++ b/_test/tests/inc/common_basicinfo.test.php @@ -0,0 +1,114 @@ + '179ad45c6ce2cb97cf1029e212046e81', + 'name' => 'Arthur Dent', + 'mail' => 'arthur@example.com', + 'grps' => array ('admin','user'), + ); + $_SERVER['REMOTE_USER'] = 'testuser'; + $_SERVER['REMOTE_ADDR'] = '1.2.3.4'; + } + + function _get_info() { + global $USERINFO; + $info = array ( + 'isadmin' => true, + 'ismanager' => true, + 'userinfo' => $USERINFO, + 'perm' => 255, + 'namespace' => false, + 'ismobile' => false, + 'client' => 'testuser', + ); + + return $info; + } + + /** + * Its important to have the correct set of keys. + * Other functions provide the values + */ + function test_basicinfo(){ + // test with REMOTE_USER set and the user an admin user + $info = $this->_get_info(); + $this->assertEquals(basicinfo($ID,true),$info); + + // with $httpclient parameter set to false + unset($info['ismobile']); + $this->assertEquals(basicinfo($ID,false),$info); + + // with anonymous user + unset($_SERVER['REMOTE_USER']); + global $USERINFO; $USERINFO = array(); + + $info = array( + 'isadmin' => false, + 'ismanager' => false, + 'perm' => 8, + 'namespace' => false, + 'ismobile' => false, + 'client' => '1.2.3.4', + ); + $this->assertEquals(basicinfo($ID,true),$info); + } + + /** + * We're interested in the extra keys required for $INFO when its a page request + * and that $REV, $RANGE globals are set/cleared correctly + */ + function test_pageinfo(){ + global $ID,$conf; + $ID = 'wiki:start'; + + $info = $this->_get_info(); + $info['id'] = 'wiki:start'; + $info['namespace'] = 'wiki'; + $info['rev'] = null; + $info['subscribed'] = false; + $info['locked'] = false; + $info['filepath'] = $conf['datadir'].'/wiki/start.txt'; + $info['exists'] = false; + $info['writable'] = true; + $info['editable'] = true; + $info['lastmod'] = false; + $info['meta'] = array(); + $info['ip'] = null; + $info['user'] = null; + $info['sum'] = null; + $info['editor'] = null; + + // basic test, no revision + $this->assertEquals(pageinfo(),$info); + + // TODO: test with revision = current page + + // TODO: test with true revision + + // TODO: test with revision & range + + // TODO: validate against the same test run on master branch pre this change + } + + /** + * We're interested in the extra keys for $INFO when its a media request + */ + function test_mediainfo(){ + global $NS, $IMG; + $NS = ''; + $IMG = 'testimage.png'; + + $info = $this->_get_info(); + $info['image'] = 'testimage.png'; + + $this->assertEquals(mediainfo(),$info); + } +} + +//Setup VIM: ex: et ts=4 : diff --git a/_test/tests/inc/common_infofunctions.test.php b/_test/tests/inc/common_infofunctions.test.php deleted file mode 100644 index 2e383ef8b..000000000 --- a/_test/tests/inc/common_infofunctions.test.php +++ /dev/null @@ -1,114 +0,0 @@ - '179ad45c6ce2cb97cf1029e212046e81', - 'name' => 'Arthur Dent', - 'mail' => 'arthur@example.com', - 'grps' => array ('admin','user'), - ); - $_SERVER['REMOTE_USER'] = 'testuser'; - $_SERVER['REMOTE_ADDR'] = '1.2.3.4'; - } - - function _get_info() { - global $USERINFO; - $info = array ( - 'isadmin' => true, - 'ismanager' => true, - 'userinfo' => $USERINFO, - 'perm' => 255, - 'namespace' => false, - 'ismobile' => false, - 'client' => 'testuser', - ); - - return $info; - } - - /** - * Its important to have the correct set of keys. - * Other functions provide the values - */ - function test_basicinfo(){ - // test with REMOTE_USER set and the user an admin user - $info = $this->_get_info(); - $this->assertEquals(basicinfo($ID,true),$info); - - // with $httpclient parameter set to false - unset($info['ismobile']); - $this->assertEquals(basicinfo($ID,false),$info); - - // with anonymous user - unset($_SERVER['REMOTE_USER']); - global $USERINFO; $USERINFO = array(); - - $info = array( - 'isadmin' => false, - 'ismanager' => false, - 'perm' => 8, - 'namespace' => false, - 'ismobile' => false, - 'client' => '1.2.3.4', - ); - $this->assertEquals(basicinfo($ID,true),$info); - } - - /** - * We're interested in the extra keys required for $INFO when its a page request - * and that $REV, $RANGE globals are set/cleared correctly - */ - function test_pageinfo(){ - global $ID,$conf; - $ID = 'wiki:start'; - - $info = $this->_get_info(); - $info['id'] = 'wiki:start'; - $info['namespace'] = 'wiki'; - $info['rev'] = null; - $info['subscribed'] = false; - $info['locked'] = false; - $info['filepath'] = $conf['datadir'].'/wiki/start.txt'; - $info['exists'] = false; - $info['writable'] = true; - $info['editable'] = true; - $info['lastmod'] = false; - $info['meta'] = array(); - $info['ip'] = null; - $info['user'] = null; - $info['sum'] = null; - $info['editor'] = null; - - // basic test, no revision - $this->assertEquals(pageinfo(),$info); - - // TODO: test with revision = current page - - // TODO: test with true revision - - // TODO: test with revision & range - - // TODO: validate against the same test run on master branch pre this change - } - - /** - * We're interested in the extra keys for $INFO when its a media request - */ - function test_mediainfo(){ - global $NS, $IMG; - $NS = ''; - $IMG = 'testimage.png'; - - $info = $this->_get_info(); - $info['image'] = 'testimage.png'; - - $this->assertEquals(mediainfo(),$info); - } -} - -//Setup VIM: ex: et ts=4 : diff --git a/_test/tests/inc/common_mediainfo.test.php b/_test/tests/inc/common_mediainfo.test.php new file mode 100644 index 000000000..0e67fbcd9 --- /dev/null +++ b/_test/tests/inc/common_mediainfo.test.php @@ -0,0 +1,49 @@ + '179ad45c6ce2cb97cf1029e212046e81', + 'name' => 'Arthur Dent', + 'mail' => 'arthur@example.com', + 'grps' => array ('admin','user'), + ); + $_SERVER['REMOTE_USER'] = 'testuser'; + $_SERVER['REMOTE_ADDR'] = '1.2.3.4'; + } + + function _get_info() { + global $USERINFO; + $info = array ( + 'isadmin' => true, + 'ismanager' => true, + 'userinfo' => $USERINFO, + 'perm' => 255, + 'namespace' => false, + 'ismobile' => false, + 'client' => 'testuser', + ); + + return $info; + } + + /** + * We're interested in the extra keys for $INFO when its a media request + */ + function test_mediainfo(){ + global $NS, $IMG; + $NS = ''; + $IMG = 'testimage.png'; + + $info = $this->_get_info(); + $info['image'] = 'testimage.png'; + + $this->assertEquals(mediainfo(),$info); + } +} + +//Setup VIM: ex: et ts=4 : -- cgit v1.2.3