summaryrefslogtreecommitdiff
path: root/_test/tests/inc/pageutils_resolve_pageid.test.php
diff options
context:
space:
mode:
authorTobias Sarnowski <sarnowski@cosmocode.de>2012-04-18 12:08:28 +0200
committerTobias Sarnowski <sarnowski@cosmocode.de>2012-04-18 12:08:28 +0200
commitf8369d7d6e37248d6523fdac6e1d760fca4f1b52 (patch)
tree0848c213ffc191a23b55f07bd2ec55e777ea79ca /_test/tests/inc/pageutils_resolve_pageid.test.php
parentd59108b91e9bf9fd56dc2e697cf31f9bbc7f9cd4 (diff)
downloadrpg-f8369d7d6e37248d6523fdac6e1d760fca4f1b52.tar.gz
rpg-f8369d7d6e37248d6523fdac6e1d760fca4f1b52.tar.bz2
moved _testing to _test
Diffstat (limited to '_test/tests/inc/pageutils_resolve_pageid.test.php')
-rw-r--r--_test/tests/inc/pageutils_resolve_pageid.test.php83
1 files changed, 83 insertions, 0 deletions
diff --git a/_test/tests/inc/pageutils_resolve_pageid.test.php b/_test/tests/inc/pageutils_resolve_pageid.test.php
new file mode 100644
index 000000000..32e5f841f
--- /dev/null
+++ b/_test/tests/inc/pageutils_resolve_pageid.test.php
@@ -0,0 +1,83 @@
+<?php
+require_once DOKU_INC.'inc/utf8.php';
+require_once DOKU_INC.'inc/pageutils.php';
+
+global $conf;
+if (!isset($conf['datadir'])) $conf['datadir'] = $conf['savedir'].'/pages';
+
+class init_resolve_pageid_test extends DokuWikiTest {
+
+
+ function test1(){
+ global $conf;
+
+ // we test multiple cases here
+ // format: $ns, $page, $output
+ $tests = array();
+
+ // relative current in root
+ $tests[] = array('','page','page');
+ $tests[] = array('','.page','page');
+ $tests[] = array('','.:page','page');
+
+ // relative current in namespace
+ $tests[] = array('lev1:lev2','page','lev1:lev2:page');
+ $tests[] = array('lev1:lev2','.page','lev1:lev2:page');
+ $tests[] = array('lev1:lev2','.:page','lev1:lev2:page');
+
+ // relative upper in root
+ $tests[] = array('','..page','page');
+ $tests[] = array('','..:page','page');
+
+ // relative upper in namespace
+ $tests[] = array('lev1:lev2','..page','lev1:page');
+ $tests[] = array('lev1:lev2','..:page','lev1:page');
+ $tests[] = array('lev1:lev2','..:..:page','page');
+ $tests[] = array('lev1:lev2','..:..:..:page','page');
+
+ // strange and broken ones
+ $tests[] = array('lev1:lev2','....:....:page','lev1:lev2:page');
+ $tests[] = array('lev1:lev2','..:..:lev3:page','lev3:page');
+ $tests[] = array('lev1:lev2','..:..:lev3:..:page','page');
+ $tests[] = array('lev1:lev2','..:..:lev3:..:page:....:...','page');
+
+ // now some tests with existing and none existing files
+ $conf['start'] = 'start';
+
+ $tests[] = array('','.:','start');
+ $tests[] = array('foo','.:','foo:start');
+ $tests[] = array('','foo:','foo:start');
+ $tests[] = array('foo','foo:','foo:start');
+
+ // empty $page
+ global $ID;
+ $ID = 'my:space';
+ $tests[] = array('my', '', 'my:space');
+
+ foreach($tests as $test){
+ $page = $test[1];
+ resolve_pageid($test[0],$page,$foo);
+
+ $this->assertEquals($page,$test[2]);
+ }
+ }
+
+ /**
+ * Empty page on homepage should resolve to start page
+ */
+ function test_resolve_pageid_empty_homepage() {
+ global $ID;
+ $ID = '';
+ global $conf;
+ $conf['start'] = 'someverystrangestartname';
+
+ $ns = '';
+ $page = '';
+ $exist = true;
+
+ resolve_pageid($ns, $page, $exist);
+ $this->assertEquals($page, $conf['start']);
+ }
+
+}
+//Setup VIM: ex: et ts=4 :