summaryrefslogtreecommitdiff
path: root/inc/parser/tests/parser_links.test.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/parser/tests/parser_links.test.php')
-rw-r--r--inc/parser/tests/parser_links.test.php522
1 files changed, 0 insertions, 522 deletions
diff --git a/inc/parser/tests/parser_links.test.php b/inc/parser/tests/parser_links.test.php
deleted file mode 100644
index 4609c399b..000000000
--- a/inc/parser/tests/parser_links.test.php
+++ /dev/null
@@ -1,522 +0,0 @@
-<?php
-require_once 'parser.test.php';
-
-class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
-
- function TestOfDoku_Parser_Links() {
- $this->UnitTestCase('TestOfDoku_Parser_Links');
- }
-
-
- function testExternalLinkSimple() {
- $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
- $this->P->parse("Foo http://www.google.com Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externallink',array('http://www.google.com ', NULL)),
- array('cdata',array('Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testExternalLinkCase() {
- $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
- $this->P->parse("Foo HTTP://WWW.GOOGLE.COM Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externallink',array('HTTP://WWW.GOOGLE.COM ', NULL)),
- array('cdata',array('Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testExternalLinkJavascript() {
- $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
- $this->P->parse("Foo javascript:alert('XSS'); Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\nFoo javascript:alert('XSS'); Bar\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testExternalWWWLink() {
- $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
- $this->P->parse("Foo www.google.com Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externallink',array('www.google.com ', NULL)),
- array('cdata',array('Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testExternalFTPLink() {
- $this->P->addMode('externallink',new Doku_Parser_Mode_ExternalLink());
- $this->P->parse("Foo ftp.sunsite.com Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externallink',array('ftp.sunsite.com ', NULL)),
- array('cdata',array('Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testEmail() {
- $this->P->addMode('email',new Doku_Parser_Mode_Email());
- $this->P->parse("Foo <bugs@php.net> Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('email',array('bugs@php.net', NULL)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInternalLinkOneChar() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[l]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('l',NULL)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInternalLinkNamespaceNoTitle() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[foo:bar]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('foo:bar',NULL)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInternalLinkNamespace() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[x:1:y:foo_bar:z|Test]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('x:1:y:foo_bar:z','Test')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInternalLinkSectionRef() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[wiki:syntax#internal|Syntax]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('wiki:syntax#internal','Syntax')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testExternalInInternalLink() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[http://www.google.com|Google]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externallink',array('http://www.google.com','Google')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInterwikiLink() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[iw>somepage|Some Page]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('interwikilink',array('iw>somepage','Some Page','iw','somepage')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInterwikiLinkCase() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[IW>somepage|Some Page]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('interwikilink',array('IW>somepage','Some Page','iw','somepage')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testInterwikiPedia() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[wp>Callback_(computer_science)|callbacks]] Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('interwikilink',array('wp>Callback_(computer_science)','callbacks','wp','Callback_(computer_science)')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testCamelCase() {
- $this->P->addMode('camelcaselink',new Doku_Parser_Mode_CamelCaseLink());
- $this->P->parse("Foo FooBar Bar");
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('camelcaselink',array('FooBar')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testFileLink() {
- $this->P->addMode('filelink',new Doku_Parser_Mode_FileLink());
- $this->P->parse('Foo file://temp/file.txt Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('filelink',array('file://temp/file.txt ',NULL)),
- array('cdata',array('Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testFileLinkInternal() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse('Foo [[file://temp/file.txt|Some File]] Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('filelink',array('file://temp/file.txt','Some File')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testWindowsShareLink() {
- $this->P->addMode('windowssharelink',new Doku_Parser_Mode_WindowsShareLink());
- $this->P->parse('Foo \\\server\share Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo')),
- array('windowssharelink',array(' \\\server\share ',NULL)),
- array('cdata',array('Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testWindowsShareLinkInternal() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse('Foo [[\\\server\share|My Documents]] Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('windowssharelink',array('\\\server\share','My Documents')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInternal() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{img.gif}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaNotImage() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{foo.txt?10x10|Some File}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('foo.txt','Some File')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInternalLAlign() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{img.gif }} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',array('img.gif',NULL,'left',NULL,NULL,TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInternalRAlign() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{ img.gif}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',array('img.gif',NULL,'right',NULL,NULL,TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInternalCenter() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{ img.gif }} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',array('img.gif',NULL,'center',NULL,NULL,TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInternalParams() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{img.gif?50x100nocache}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',array('img.gif',NULL,NULL,'50','100',FALSE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInternalTitle() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{img.gif?50x100|Some Image}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',array('img.gif','Some Image',NULL,'50','100',TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaExternal() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{http://www.google.com/img.gif}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externalmedia',array('http://www.google.com/img.gif',NULL,NULL,NULL,NULL,TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaExternalParams() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{http://www.google.com/img.gif?50x100nocache}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externalmedia',array('http://www.google.com/img.gif',NULL,NULL,'50','100',FALSE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaExternalTitle() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{http://www.google.com/img.gif?50x100|Some Image}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('externalmedia',
- array('http://www.google.com/img.gif','Some Image',NULL,'50','100',TRUE)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaInInternalLink() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[x:1:y:foo_bar:z|{{img.gif?10x20nocache|Some Image}}]] Bar");
-
- $image = array(
- 'type'=>'internalmedia',
- 'src'=>'img.gif',
- 'title'=>'Some Image',
- 'align'=>NULL,
- 'width'=>10,
- 'height'=>20,
- 'cache'=>FALSE,
- );
-
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('x:1:y:foo_bar:z',$image)),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testMediaNoImageInInternalLink() {
- $this->P->addMode('internallink',new Doku_Parser_Mode_InternalLink());
- $this->P->parse("Foo [[x:1:y:foo_bar:z|{{foo.txt?10x20nocache|Some Image}}]] Bar");
-
- $image = array(
- 'type'=>'internalmedia',
- 'src'=>'img.gif',
- 'title'=>'Some Image',
- 'align'=>NULL,
- 'width'=>10,
- 'height'=>20,
- 'cache'=>FALSE,
- );
-
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internallink',array('x:1:y:foo_bar:z','{{foo.txt?10x20nocache|Some Image}}')),
- array('cdata',array(' Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
- function testNestedMedia() {
- $this->P->addMode('media',new Doku_Parser_Mode_Media());
- $this->P->parse('Foo {{img.gif|{{foo.gif|{{bar.gif|Bar}}}}}} Bar');
- $calls = array (
- array('document_start',array()),
- array('p_open',array()),
- array('cdata',array("\n".'Foo ')),
- array('internalmedia',
- array('img.gif','{{foo.gif|{{bar.gif|Bar',NULL,NULL,NULL,TRUE)),
- array('cdata',array('}}}} Bar'."\n")),
- array('p_close',array()),
- array('document_end',array()),
- );
- $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls);
- }
-
-}
-
-/**
-* Conditional test runner
-*/
-if (!defined('TEST_RUNNING')) {
- define('TEST_RUNNING', true);
- $test = &new TestOfDoku_Parser_Links();
- $test->run(new HtmlReporter());
-}