[Fusionforge-commits] r14767 - in trunk: src/common/include tests/unit/utils

Alain Peyrat aljeux at fusionforge.org
Wed Nov 9 11:02:40 CET 2011


Author: aljeux
Date: 2011-11-09 11:02:39 +0100 (Wed, 09 Nov 2011)
New Revision: 14767

Modified:
   trunk/src/common/include/utils.php
   trunk/tests/unit/utils/UtilsTest.php
Log:
Fix broken util_strip_accents() and add unit tests

Modified: trunk/src/common/include/utils.php
===================================================================
--- trunk/src/common/include/utils.php	2011-11-09 09:43:00 UTC (rev 14766)
+++ trunk/src/common/include/utils.php	2011-11-09 10:02:39 UTC (rev 14767)
@@ -1084,7 +1084,11 @@
  * @return 	string
  */
 function util_strip_accents($text) {
-	return iconv ('UTF-8', 'US-ASCII//TRANSLIT', $text) ;
+	$find = utf8_decode($text);
+	$find = strtr($find,
+		utf8_decode('àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ'),
+			'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
+	return utf8_encode($find);
 }
 
 /**

Modified: trunk/tests/unit/utils/UtilsTest.php
===================================================================
--- trunk/tests/unit/utils/UtilsTest.php	2011-11-09 09:43:00 UTC (rev 14766)
+++ trunk/tests/unit/utils/UtilsTest.php	2011-11-09 10:02:39 UTC (rev 14767)
@@ -88,4 +88,16 @@
 		$this->assertEquals('1 TiB', human_readable_bytes(1024*1024*1024*1024));
 		$this->assertEquals('1 TB', human_readable_bytes(1000000000000, true));
 	}
+
+	public function testGetFilteredStringFromRequest()
+	{
+		$_REQUEST=array('arg' => 'good');
+		$this->assertEquals(getFilteredStringFromRequest('arg', '/^[a-z]+$/', 'default'), 'good');
+
+		$_REQUEST=array('arg' => 'BaD');
+		$this->assertEquals(getFilteredStringFromRequest('arg', '/^[a-z]+$/', 'default'), 'default');
+
+		$_REQUEST=array('no_arg' => 'BaD');
+		$this->assertEquals(getFilteredStringFromRequest('arg', '/^[a-z]+$/', 'default'), 'default');
+	}
 }




More information about the Fusionforge-commits mailing list