[geeklog-cvs] geeklog: Updated lib-mbyte.php for use with test framework
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Wed Jul 29 14:53:22 EDT 2009
details: http://project.geeklog.net/cgi-bin/hgweb.cgi/rev/bd3a784653f8
changeset: 7198:bd3a784653f8
user: Sean Clark <sc1245 at messiah.edu>
date: Wed Jul 29 14:49:13 2009 -0400
description:
Updated lib-mbyte.php for use with test framework
diffstat:
system/lib-mbyte.php | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 deletions(-)
diffs (68 lines):
diff -r d9e3fbb9e583 -r bd3a784653f8 system/lib-mbyte.php
--- a/system/lib-mbyte.php Wed Jul 29 11:51:34 2009 +0200
+++ b/system/lib-mbyte.php Wed Jul 29 14:49:13 2009 -0400
@@ -45,7 +45,7 @@
$language = array ();
$fd = opendir ($_CONF['path_language']);
-
+
while (($file = @readdir ($fd)) !== false) {
if ((substr ($file, 0, 1) != '.') && preg_match ('/\.php$/i', $file)
&& is_file ($_CONF['path_language'] . $file)
@@ -77,12 +77,14 @@
}
}
asort ($language);
-
- return $language;
+
+ return $language;
}
+
// replacement functions for UTF-8 functions
-function MBYTE_checkEnabled()
+// $test, $enabled parameters only relevant for the PHPUnit test suite
+function MBYTE_checkEnabled($test = '', $enabled = true)
{
global $LANG_CHARSET;
@@ -90,21 +92,30 @@
if (!isset($mb_enabled)) {
$mb_enabled = false;
- if (strcasecmp($LANG_CHARSET, 'utf-8') == 0) {
- if (function_exists('mb_eregi_replace')) {
- $mb_enabled = mb_internal_encoding('UTF-8');
- }
+ if (strcasecmp($LANG_CHARSET, 'utf-8') == 0) {
+ if($test == '') {
+ // Normal situation in live environment
+ if (function_exists('mb_eregi_replace')) {
+ $mb_enabled = mb_internal_encoding('UTF-8');
+ }
+
+ } elseif($test == 'test') {
+ // Just for tests, true if we want function to exist
+ if($enabled) {
+ $mb_enabled = mb_internal_encoding('UTF-8');
+ }
+ }
}
}
-
+
return $mb_enabled;
-}
+}
function MBYTE_strlen($str)
{
static $mb_enabled;
-
+
if (!isset($mb_enabled)) {
$mb_enabled = MBYTE_checkEnabled();
}
More information about the geeklog-cvs
mailing list