diff options
author | Christopher Smith <chris@jalakai.co.uk> | 2013-07-30 10:50:52 +0200 |
---|---|---|
committer | Christopher Smith <chris@jalakai.co.uk> | 2013-07-30 10:50:52 +0200 |
commit | af07997c5ff7cc096965159d90158e3710d2d019 (patch) | |
tree | defaf770e77a679436eb56291185905b547640d0 /_test/tests/inc/common_ml.test.php | |
parent | bdac741579f8c6f00248d5d3ec635d4c2e08fb1e (diff) | |
parent | 7d8a6abbb21979fd77dca10275ebb8e01a04b6e4 (diff) | |
download | rpg-af07997c5ff7cc096965159d90158e3710d2d019.tar.gz rpg-af07997c5ff7cc096965159d90158e3710d2d019.tar.bz2 |
Merge branch 'master' into configmgr_improvements
Conflicts:
inc/auth.php
inc/template.php
lib/plugins/authad/lang/zh/settings.php
lib/plugins/authldap/lang/en/settings.php
lib/plugins/authldap/lang/zh/settings.php
lib/plugins/authmysql/lang/zh/settings.php
lib/plugins/config/settings/config.class.php
lib/plugins/usermanager/admin.php
Diffstat (limited to '_test/tests/inc/common_ml.test.php')
-rw-r--r-- | _test/tests/inc/common_ml.test.php | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/_test/tests/inc/common_ml.test.php b/_test/tests/inc/common_ml.test.php new file mode 100644 index 000000000..6f3b71db4 --- /dev/null +++ b/_test/tests/inc/common_ml.test.php @@ -0,0 +1,114 @@ +<?php + +class common_ml_test extends DokuWikiTest { + + private $script = 'lib/exe/fetch.php'; + + function test_ml_empty() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + $conf['start'] = 'start'; + + $this->assertEquals(DOKU_BASE . $this->script . '?media=' , ml()); + } + + function test_ml_args_array() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $args = array('a' => 'b', 'c' => 'd', 'q' => '&ä'); + + $expect = DOKU_BASE . $this->script . '?a=b&c=d&q=%26%C3%A4&media=some:img.jpg'; + $this->assertEquals($expect, ml('some:img.jpg', $args)); + } + + function test_ml_args_string() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $args = 'a=b&c=d'; + + $expect = DOKU_BASE . $this->script . '?a=b&c=d&media=some:img.png'; + $this->assertEquals($expect, ml('some:img.png', $args)); + } + + function test_ml_args_comma_string() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $args = 'a=b,c=d'; + + $expect = DOKU_BASE . $this->script . '?a=b&c=d&media=some:img.gif'; + $this->assertEquals($expect, ml('some:img.gif', $args)); + } + + + function test_ml_imgresize_array() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $id = 'some:img.png'; + $w = 80; + $args = array('w' => $w); + $tok = media_get_token($id,$w,0); + + $expect = DOKU_BASE . $this->script . '?w='.$w.'&tok='.$tok.'&media='.$id; + $this->assertEquals($expect, ml($id, $args)); + } + + function test_ml_imgresize_string() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $id = 'some:img.png'; + $w = 80; + $args = 'w='.$w; + $tok = media_get_token($id,$w,0); + + $expect = DOKU_BASE . $this->script . '?w='.$w.'&tok='.$tok.'&media='.$id; + $this->assertEquals($expect, ml($id, $args)); + } + + function test_ml_imgresize_array_rootid() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $id = ':wiki:dokuwiki-128.png'; + $cleanid = 'wiki:dokuwiki-128.png'; + $w = 80; + $args = array('w' => $w); + $tok = media_get_token($cleanid, $w, 0); + + $expect = DOKU_BASE.$this->script.'?w='.$w.'&tok='.$tok.'&media='.$cleanid; + $this->assertEquals($expect, ml($id, $args)); + } + + function test_ml_imgresize_array_external() { + global $conf; + $conf['useslash'] = 0; + $conf['userewrite'] = 0; + + $ids = array( + 'https://example.com/lib/tpl/dokuwiki/images/logo.png', + 'http://example.com/lib/tpl/dokuwiki/images/logo.png', + 'ftp://example.com/lib/tpl/dokuwiki/images/logo.png' + ); + $w = 80; + $args = array('w' => $w); + + foreach($ids as $id) { + $tok = media_get_token($id, $w, 0); + $hash = substr(PassHash::hmac('md5', $id, auth_cookiesalt()), 0, 6); + + $expect = DOKU_BASE.$this->script.'?hash='.$hash.'&w='.$w.'&tok='.$tok.'&media='.rawurlencode($id); + $this->assertEquals($expect, ml($id, $args)); + } + } +} |