Missed the case where there is an equals.
[lhc/web/wiklou.git] / tests / phpunit / includes / UserIsValidEmailAddrTest.php
index c1f3419..203dfae 100644 (file)
@@ -1,8 +1,9 @@
 <?php
 
-class UserIsValidEmailAddrTest extends PHPUnit_Framework_TestCase {
+class UserIsValidEmailAddrTest extends MediaWikiTestCase {
 
        private function checkEmail( $addr, $expected = true, $msg = '') {
+               if( $msg == '' ) { $msg = "Testing $addr"; }
                $this->assertEquals(
                        $expected,
                        User::isValidEmailAddr( $addr ),
@@ -30,11 +31,16 @@ class UserIsValidEmailAddrTest extends PHPUnit_Framework_TestCase {
                $this->valid( 'user+sub@example.com' );
                $this->valid( 'user+@example.com' );
        }
+       function testEmailDoesNotNeedATopLevelDomain() {
+               $this->valid( "user@localhost" );
+               $this->valid( "FooBar@localdomain" );
+               $this->valid( "nobody@mycompany" );
+       }
        function testEmailWithWhiteSpacesBeforeOrAfterAreInvalids() {
-               $this->invalid( " user@host" );
-               $this->invalid( "user@host " );
-               $this->invalid( "\tuser@host" );
-               $this->invalid( "user@host\t" );
+               $this->invalid( " user@host.com" );
+               $this->invalid( "user@host.com " );
+               $this->invalid( "\tuser@host.com" );
+               $this->invalid( "user@host.com\t" );
        }
        function testEmailWithWhiteSpacesAreInvalids() {
                $this->invalid( "User user@host" );
@@ -45,8 +51,8 @@ class UserIsValidEmailAddrTest extends PHPUnit_Framework_TestCase {
                $this->invalid( "user@." );
                $this->invalid( "user@.localdomain" );
                $this->invalid( "user@localdomain." );
-               $this->invalid( "user.@localdomain" );
-               $this->invalid( ".@localdomain" );
+               $this->valid( "user.@localdomain" );
+               $this->valid( ".@localdomain" );
                $this->invalid( ".@a............" );
        }
        function testEmailWithFunnyCharacters() {
@@ -58,7 +64,7 @@ class UserIsValidEmailAddrTest extends PHPUnit_Framework_TestCase {
        function testEmailWithoutAtSignIsInvalid() {
                $this->invalid( 'useràexample.com' );
        }
-       function testEmailWithOneCharacterDomainIsInvalid() {
-               $this->invalid( 'user@a' );
+       function testEmailWithOneCharacterDomainIsValid() {
+               $this->valid( 'user@a' );
        }
 }