Browse Source

Add unit tests for valid email function.

ken restivo 4 years ago
parent
commit
9c240de303
2 changed files with 37 additions and 4 deletions
  1. 6 4
      include/text.php
  2. 31 0
      tests/text_test.php

+ 6 - 4
include/text.php

@@ -872,15 +872,17 @@ function searchbox($s,$id='search-box',$url='/search',$save = false) {
 	));
 }
 
+function valid_email_regex($x){
+	if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
+		return true;
+	return false;
+}
 
 function valid_email($x){
 	if(get_config('system','disable_email_validation'))
 		return true;
 
-	if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
-		return true;
-
-	return false;
+	return valid_email_regex($x);
 }
 
 /**

+ 31 - 0
tests/text_test.php

@@ -0,0 +1,31 @@
+<?php
+/**
+ * this file contains tests for text.php
+ * 
+ * @package test.util
+ */
+
+/** required, it is the file under test */
+require_once('include/text.php');
+
+/**
+ * TestCase for the texter
+ * 
+ * @author ken restivo
+ * @package test.util
+ */
+class TextTest extends PHPUnit_Framework_TestCase {
+	public function testGoodEmail() {
+		$this->assertTrue(valid_email_regex('ken@spaz.org'));
+	}
+	public function testGoodEmail2() {
+		$this->assertTrue(valid_email_regex('ken@restivo.org'));
+	}
+	public function testGoodEmail3() {
+		$this->assertTrue(valid_email_regex('nobody@hubzilla.com'));
+	}
+	public function testBadEmail() {
+		$this->assertFalse(valid_email_regex('nobody!uses!these!any.more'));
+	}
+
+}