1*2d6df795SGerrit Uitslag<?php 2*2d6df795SGerrit Uitslag 3*2d6df795SGerrit Uitslagrequire_once DOKU_INC . 'inc/parser/renderer.php'; 4*2d6df795SGerrit Uitslag 5*2d6df795SGerrit Uitslag/** 6*2d6df795SGerrit Uitslag * Tests for Doku_Renderer::_resolveInterWiki() 7*2d6df795SGerrit Uitslag */ 8*2d6df795SGerrit Uitslagclass Test_resolveInterwiki extends PHPUnit_Framework_TestCase { 9*2d6df795SGerrit Uitslag 10*2d6df795SGerrit Uitslag 11*2d6df795SGerrit Uitslag function testDefaults() { 12*2d6df795SGerrit Uitslag $Renderer = new Doku_Renderer(); 13*2d6df795SGerrit Uitslag $Renderer->interwiki = getInterwiki(); 14*2d6df795SGerrit Uitslag $Renderer->interwiki['scheme'] = '{SCHEME}://example.com'; 15*2d6df795SGerrit Uitslag $Renderer->interwiki['slash'] = '/test'; 16*2d6df795SGerrit Uitslag $Renderer->interwiki['onlytext'] = 'onlytext'; 17*2d6df795SGerrit Uitslag 18*2d6df795SGerrit Uitslag //var_dump($Renderer->interwiki); 19*2d6df795SGerrit Uitslag 20*2d6df795SGerrit Uitslag $tests = array( 21*2d6df795SGerrit Uitslag // shortcut, reference and expected 22*2d6df795SGerrit Uitslag array('wp', 'foo @+%/', 'http://en.wikipedia.org/wiki/foo @+%/'), 23*2d6df795SGerrit Uitslag array('amazon', 'foo @+%/', 'http://www.amazon.com/exec/obidos/ASIN/foo%20%40%2B%25%2F/splitbrain-20/'), 24*2d6df795SGerrit Uitslag array('doku', 'foo @+%/', 'http://www.dokuwiki.org/foo%20%40%2B%25%2F'), 25*2d6df795SGerrit Uitslag //ToDo: Check needed, is double slash in path desired 26*2d6df795SGerrit Uitslag array('coral', 'http://example.com:83/path/naar/?query=foo%20%40%2B%25%2F', 'http://example.com.83.nyud.net:8090//path/naar/?query=foo%20%40%2B%25%2F'), 27*2d6df795SGerrit Uitslag array('scheme', 'ftp://foo @+%/', 'ftp://example.com'), 28*2d6df795SGerrit Uitslag //relative url 29*2d6df795SGerrit Uitslag array('slash', 'foo @+%/', '/testfoo%20%40%2B%25%2F'), 30*2d6df795SGerrit Uitslag //dokuwiki id's 31*2d6df795SGerrit Uitslag array('onlytext', 'foo @+%/', 'onlytextfoo%20%40%2B%25%2F'), 32*2d6df795SGerrit Uitslag array('user', 'foo @+%/', 'wiki:users:foo%20%40%2B%25%2F') 33*2d6df795SGerrit Uitslag ); 34*2d6df795SGerrit Uitslag 35*2d6df795SGerrit Uitslag foreach($tests as $test) { 36*2d6df795SGerrit Uitslag $url = $Renderer->_resolveInterWiki($test[0], $test[1]); 37*2d6df795SGerrit Uitslag 38*2d6df795SGerrit Uitslag $this->assertEquals($test[2], $url); 39*2d6df795SGerrit Uitslag } 40*2d6df795SGerrit Uitslag } 41*2d6df795SGerrit Uitslag 42*2d6df795SGerrit Uitslag function testNonexisting() { 43*2d6df795SGerrit Uitslag $Renderer = new Doku_Renderer(); 44*2d6df795SGerrit Uitslag $Renderer->interwiki = getInterwiki(); 45*2d6df795SGerrit Uitslag 46*2d6df795SGerrit Uitslag $shortcut = 'nonexisting'; 47*2d6df795SGerrit Uitslag $reference = 'foo @+%/'; 48*2d6df795SGerrit Uitslag $url = $Renderer->_resolveInterWiki($shortcut, $reference); 49*2d6df795SGerrit Uitslag $expected = 'http://www.google.com/search?q=foo%20%40%2B%25%2F&btnI=lucky'; 50*2d6df795SGerrit Uitslag 51*2d6df795SGerrit Uitslag $this->assertEquals($expected, $url); 52*2d6df795SGerrit Uitslag } 53*2d6df795SGerrit Uitslag 54*2d6df795SGerrit Uitslag}