diff --git a/_test/cases/inc/parser/parser_i18n.test.php b/_test/cases/inc/parser/parser_i18n.test.php
index 5ed27535f6f91dd18dcf6a0132b50cd1ee410a77..2e77777b8884c3aba0b55e891f9fbbb3f709f1fa 100644
--- a/_test/cases/inc/parser/parser_i18n.test.php
+++ b/_test/cases/inc/parser/parser_i18n.test.php
@@ -88,30 +88,24 @@ def');
             array('table_open',array(3,2)),
             array('tablerow_open',array()),
             array('tablecell_open',array(1,'left')),
-            array('cdata',array(' Row 0 Col 1')),
-            array('cdata',array('    ')),
+            array('cdata',array(' Row 0 Col 1    ')),
             array('tablecell_close',array()),
             array('tablecell_open',array(1,'left')),
-            array('cdata',array(' Iñtërnâtiônàlizætiøn')),
-            array('cdata',array('     ')),
+            array('cdata',array(' Iñtërnâtiônàlizætiøn     ')),
             array('tablecell_close',array()),
             array('tablecell_open',array(1,'left')),
-            array('cdata',array(' Row 0 Col 3')),
-            array('cdata',array('        ')),
+            array('cdata',array(' Row 0 Col 3        ')),
             array('tablecell_close',array()),
             array('tablerow_close',array()),
             array('tablerow_open',array()),
             array('tablecell_open',array(1,'left')),
-            array('cdata',array(' Row 1 Col 1')),
-            array('cdata',array('    ')),
+            array('cdata',array(' Row 1 Col 1    ')),
             array('tablecell_close',array()),
             array('tablecell_open',array(1,'left')),
-            array('cdata',array(' Iñtërnâtiônàlizætiøn')),
-            array('cdata',array('     ')),
+            array('cdata',array(' Iñtërnâtiônàlizætiøn     ')),
             array('tablecell_close',array()),
             array('tablecell_open',array(1,'left')),
-            array('cdata',array(' Row 1 Col 3')),
-            array('cdata',array('        ')),
+            array('cdata',array(' Row 1 Col 3        ')),
             array('tablecell_close',array()),
             array('tablerow_close',array()),
             array('table_close',array()),
@@ -120,6 +114,7 @@ def');
             array('p_close',array()),
             array('document_end',array()),
         );
+
         $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls);
     }
     
diff --git a/_test/cases/inc/parser/parser_links.test.php b/_test/cases/inc/parser/parser_links.test.php
index ff0389a8c51b461d1ca7cae647a45340f1e14212..e809284561a0098a78986de1d000a8952bb3e193 100644
--- a/_test/cases/inc/parser/parser_links.test.php
+++ b/_test/cases/inc/parser/parser_links.test.php
@@ -15,8 +15,8 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('externallink',array('http://www.google.com', NULL)),
+            array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
         );
@@ -30,8 +30,8 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('externallink',array('HTTP://WWW.GOOGLE.COM', NULL)),
+            array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
         );
@@ -58,8 +58,8 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('externallink',array('www.google.com', NULL)),
+            array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
         );
@@ -73,23 +73,23 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('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->fail('The emaillink mode seems to cause php 5.0.5 to segfault');
-		return;
-        $this->P->addMode('email',new Doku_Parser_Mode_Emaillink());
+/*		$this->fail('The emaillink mode seems to cause php 5.0.5 to segfault');
+		return; //FIXME: is this still true?*/
+        $this->P->addMode('emaillink',new Doku_Parser_Mode_Emaillink());
         $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('emaillink',array('bugs@php.net', NULL)),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -254,7 +254,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('filelink',array('file://temp/file.txt','Some File')),
+            array('externallink',array('file://temp/file.txt','Some File')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -268,9 +268,9 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
         $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('cdata',array("\n".'Foo ')),
+            array('windowssharelink',array('\\\server\share',NULL)),
+            array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
         );
@@ -299,7 +299,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,TRUE)),
+            array('internalmedia',array('img.gif',NULL,NULL,NULL,NULL,'cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -314,7 +314,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('internallink',array('foo.txt','Some File')),
+            array('internalmedia',array('foo.txt','Some File',null,10,10,'cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -329,7 +329,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('internalmedia',array('img.gif',NULL,'left',NULL,NULL,TRUE)),
+            array('internalmedia',array('img.gif',NULL,'left',NULL,NULL,'cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -344,7 +344,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('internalmedia',array('img.gif',NULL,'right',NULL,NULL,TRUE)),
+            array('internalmedia',array('img.gif',NULL,'right',NULL,NULL,'cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -359,7 +359,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('internalmedia',array('img.gif',NULL,'center',NULL,NULL,TRUE)),
+            array('internalmedia',array('img.gif',NULL,'center',NULL,NULL,'cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -374,7 +374,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('document_start',array()),
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
-            array('internalmedia',array('img.gif',NULL,NULL,'50','100',FALSE)),
+            array('internalmedia',array('img.gif',NULL,NULL,'50','100','nocache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -389,7 +389,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('internalmedia',array('img.gif','Some Image',NULL,'50','100','cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -404,7 +404,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('externalmedia',array('http://www.google.com/img.gif',NULL,NULL,NULL,NULL,'cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -419,7 +419,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('externalmedia',array('http://www.google.com/img.gif',NULL,NULL,'50','100','nocache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -435,7 +435,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             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('http://www.google.com/img.gif','Some Image',NULL,'50','100','cache','details')),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -454,7 +454,8 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             'align'=>NULL,
             'width'=>10,
             'height'=>20,
-            'cache'=>FALSE,
+            'cache'=>'nocache',
+						'linking'=>'details',
         );
         
         $calls = array (
@@ -475,19 +476,20 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
         
         $image = array(
             'type'=>'internalmedia',
-            'src'=>'img.gif',
+            'src'=>'foo.txt',
             'title'=>'Some Image',
             'align'=>NULL,
             'width'=>10,
             'height'=>20,
-            'cache'=>FALSE,
+            'cache'=>'nocache',
+						'linking'=>'details',
         );
         
         $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('internallink',array('x:1:y:foo_bar:z',$image)),
             array('cdata',array(' Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),
@@ -503,7 +505,7 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser {
             array('p_open',array()),
             array('cdata',array("\n".'Foo ')),
             array('internalmedia',
-                array('img.gif','{{foo.gif|{{bar.gif|Bar',NULL,NULL,NULL,TRUE)),
+            array('img.gif','{{foo.gif|{{bar.gif|Bar',NULL,NULL,NULL,'cache','details')),
             array('cdata',array('}}}} Bar'."\n")),
             array('p_close',array()),
             array('document_end',array()),