diff options
-rw-r--r-- | _test/cases/inc/mail_isvalid.test.php | 30 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser.inc.php | 1 | ||||
-rw-r--r-- | _test/cases/inc/parser/parser_links.test.php | 15 |
3 files changed, 46 insertions, 0 deletions
diff --git a/_test/cases/inc/mail_isvalid.test.php b/_test/cases/inc/mail_isvalid.test.php new file mode 100644 index 000000000..9cb5d0b97 --- /dev/null +++ b/_test/cases/inc/mail_isvalid.test.php @@ -0,0 +1,30 @@ +<?php +// use no mbstring help here +require_once DOKU_INC.'inc/mail.php'; + +class mail_isvalid extends UnitTestCase { + + + function test1(){ + // we test multiple cases here - format: string, repl, additional, test + $tests = array(); + $tests[] = array('bugs@php.net',true); + $tests[] = array('~someone@somewhere.com',true); + $tests[] = array('no+body.here@somewhere.com.au',true); + $tests[] = array("rfc2822+allthesechars_#*!'`/-={}are.legal@somewhere.com.au",true); + $tests[] = array('bugs@php.net1',false); + $tests[] = array('.bugs@php.net1',false); + $tests[] = array('bu..gs@php.net',false); + $tests[] = array('bugs@php..net',false); + $tests[] = array('bugs@.php.net',false); + $tests[] = array('bugs@php.net.',false); + $tests[] = array('bu(g)s@php.net1',false); + $tests[] = array('bu[g]s@php.net1',false); + + foreach($tests as $test){ + $this->assertEqual($test[0].'('.mail_isvalid($test[0]).')',$test[0].'('.(int)$test[1].')'); + } + } + +} +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/_test/cases/inc/parser/parser.inc.php b/_test/cases/inc/parser/parser.inc.php index 5576aeece..48f436e28 100644 --- a/_test/cases/inc/parser/parser.inc.php +++ b/_test/cases/inc/parser/parser.inc.php @@ -11,6 +11,7 @@ require_once DOKU_INC . 'inc/parser/parser.php'; require_once DOKU_INC . 'inc/parser/handler.php'; require_once DOKU_INC . 'inc/events.php'; +require_once DOKU_INC . 'inc/mail.php'; //require_once DOKU . 'parser/renderer.php'; //Mock::generate('Doku_Renderer'); diff --git a/_test/cases/inc/parser/parser_links.test.php b/_test/cases/inc/parser/parser_links.test.php index c98296bfd..7bd0e7f16 100644 --- a/_test/cases/inc/parser/parser_links.test.php +++ b/_test/cases/inc/parser/parser_links.test.php @@ -97,6 +97,21 @@ class TestOfDoku_Parser_Links extends TestOfDoku_Parser { $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); } + function testEmailRFC2822() { + $this->P->addMode('emaillink',new Doku_Parser_Mode_Emaillink()); + $this->P->parse("Foo <~fix+bug's.for/ev{e}r@php.net> Bar"); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('emaillink',array("~fix+bug's.for/ev{e}r@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"); |