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 ++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 _test/tests/inc/common_basicinfo.test.php (limited to '_test/tests/inc/common_basicinfo.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 : -- cgit v1.2.3 From 5ba389b2134d71e9b0a8b78a465bb4e8849ab664 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 25 Feb 2013 15:10:39 +0000 Subject: (incl. the refactored file) --- _test/tests/inc/common_basicinfo.test.php | 50 ------------------------------- 1 file changed, 50 deletions(-) (limited to '_test/tests/inc/common_basicinfo.test.php') diff --git a/_test/tests/inc/common_basicinfo.test.php b/_test/tests/inc/common_basicinfo.test.php index 2e383ef8b..0369474c9 100644 --- a/_test/tests/inc/common_basicinfo.test.php +++ b/_test/tests/inc/common_basicinfo.test.php @@ -59,56 +59,6 @@ class common_infofunctions_test extends DokuWikiTest { $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 : -- cgit v1.2.3