summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
authorchris <chris@jalakai.co.uk>2006-08-09 18:02:09 +0200
committerchris <chris@jalakai.co.uk>2006-08-09 18:02:09 +0200
commit74c0c50443b26fe6747fca8e267b335d6858c783 (patch)
treef8f4bc393b5e7242c3995b9fbfda7c330278b346 /_test
parent1f4490f23c9c4d37cf2d556f053aeca75da5b4d3 (diff)
downloadrpg-74c0c50443b26fe6747fca8e267b335d6858c783.tar.gz
rpg-74c0c50443b26fe6747fca8e267b335d6858c783.tar.bz2
cleanID unit tests
+ fix missing utf8 deaccent character mapping + set utf-8 charset for HTMLReporter (unit tests) darcs-hash:20060809160209-9b6ab-26c80a4830643b9790536f6d3a4adee0f451e4f0.gz
Diffstat (limited to '_test')
-rw-r--r--_test/cases/inc/pageutils_clean_id.test.php137
-rw-r--r--_test/index.php2
2 files changed, 138 insertions, 1 deletions
diff --git a/_test/cases/inc/pageutils_clean_id.test.php b/_test/cases/inc/pageutils_clean_id.test.php
new file mode 100644
index 000000000..0b4f51571
--- /dev/null
+++ b/_test/cases/inc/pageutils_clean_id.test.php
@@ -0,0 +1,137 @@
+<?php
+require_once DOKU_INC.'inc/utf8.php';
+require_once DOKU_INC.'inc/pageutils.php';
+
+class init_clean_id_test extends UnitTestCase {
+
+
+ function test_default(){
+ // we test multiple cases here
+ // format: $id, $ascii, $correct_output
+ $tests = array();
+
+ // set dokuwiki defaults
+ global $conf;
+ $conf['sepchar'] = '_';
+ $conf['deaccent'] = 1;
+
+ $tests[] = array('page',false,'page');
+ $tests[] = array('pa_ge',false,'pa_ge');
+ $tests[] = array('pa%ge',false,'pa_ge');
+ $tests[] = array('pa#ge',false,'pa_ge');
+ $tests[] = array('pàge',false,'page');
+ $tests[] = array('pagĖ',false,'page');
+ $tests[] = array('pa$%^*#ge',false,'pa_ge');
+ $tests[] = array('*page*',false,'page');
+ $tests[] = array('ښ',false,'ښ');
+ $tests[] = array('ښ侧化并곦ঝഈβ',false,'ښ侧化并곦ঝഈ');
+ $tests[] = array('page:page',false,'page:page');
+ $tests[] = array('page;page',false,'page:page');
+
+ $conf['useslash'] = 0;
+ $tests[] = array('page/page',false,'page_page');
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+
+ $conf['useslash'] = 1;
+ $tests = array();
+ $tests[] = array('page/page',false,'page:page');
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+ }
+
+ function test_sepchar(){
+ // we test multiple cases here
+ // format: $id, $ascii, $correct_output
+ $tests = array();
+
+ global $conf;
+ $conf['sepchar'] = '-';
+ $conf['deaccent'] = 1;
+
+ $tests[] = array('pa-ge',false,'pa-ge');
+ $tests[] = array('pa%ge',false,'pa-ge');
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+ }
+
+ function test_deaccent_keep(){
+ // we test multiple cases here
+ // format: $id, $ascii, $correct_output
+ $tests = array();
+
+ global $conf;
+ $conf['sepchar'] = '_';
+ $conf['deaccent'] = 0;
+
+ $tests[] = array('pàge',false,'pàge');
+ $tests[] = array('pagĖ',false,'pagė');
+ $tests[] = array('pagĒēĔĕĖėĘęĚě',false,'pagēēĕĕėėęęěě');
+ $tests[] = array('ښ',false,'ښ');
+ $tests[] = array('ښ侧化并곦ঝഈβ',false,'ښ侧化并곦ঝഈ');
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+ }
+
+ function test_deaccent_romanize(){
+ // we test multiple cases here
+ // format: $id, $ascii, $correct_output
+ $tests = array();
+
+ global $conf;
+ $conf['sepchar'] = '_';
+ $conf['deaccent'] = 2;
+
+ $tests[] = array('pàge',false,'page');
+ $tests[] = array('pagĖ',false,'page');
+ $tests[] = array('pagĒēĔĕĖėĘęĚě',false,'pageeeeeeeeee');
+ $tests[] = array('ښ',false,'ښ');
+ $tests[] = array('ښ侧化并곦ঝഈβ',false,'ښ侧化并곦ঝഈ');
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+ }
+
+ function test_deaccent_ascii(){
+ // we test multiple cases here
+ // format: $id, $ascii, $correct_output
+ $tests = array();
+
+ global $conf;
+ $conf['sepchar'] = '_';
+ $conf['deaccent'] = 0;
+
+ $tests[] = array('pàge',true,'page');
+ $tests[] = array('pagĖ',true,'page');
+ $tests[] = array('pagĒēĔĕĖėĘęĚě',true,'pageeeeeeeeee');
+ $tests[] = array('ښ',true,'');
+ $tests[] = array('ښ侧化并곦ঝഈβ',true,'');
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+
+ $conf['deaccent'] = 1;
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+
+ $conf['deaccent'] = 2;
+
+ foreach($tests as $test){
+ $this->assertEqual(cleanID($test[0],$test[1]),$test[2]);
+ }
+ }
+
+}
+//Setup VIM: ex: et ts=4 enc=utf-8 :
diff --git a/_test/index.php b/_test/index.php
index 99fae4b95..87cc10a35 100644
--- a/_test/index.php
+++ b/_test/index.php
@@ -49,7 +49,7 @@ function & DW_TESTS_GetReporter() {
break;
case DW_TESTS_OUTPUT_HTML:
default:
- $Reporter = new HTMLReporter();
+ $Reporter = new HTMLReporter('utf-8');
break;
}
}