diff options
author | chris <chris@jalakai.co.uk> | 2007-01-25 15:38:48 +0100 |
---|---|---|
committer | chris <chris@jalakai.co.uk> | 2007-01-25 15:38:48 +0100 |
commit | 26b657a1a40c6eb68443bac86ef032a3c4b05fc5 (patch) | |
tree | 83f780dffe02b9f9e0e87b9fd6ce88977605eec4 | |
parent | 0a1d30bfaabbfda6df7f79e1d0d5f616a9a2f897 (diff) | |
download | rpg-26b657a1a40c6eb68443bac86ef032a3c4b05fc5.tar.gz rpg-26b657a1a40c6eb68443bac86ef032a3c4b05fc5.tar.bz2 |
additional unit tests for email addresses
darcs-hash:20070125143848-9b6ab-490215e5feef3a7f6ed268ee03a6cfe4ced1afbb.gz
-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"); |