From a7ac24d9f9698ff0a1d42268d79f74cd21f70eb4 Mon Sep 17 00:00:00 2001
From: Christian Schneider
Date: Wed, 28 Mar 2012 13:40:12 +0000
Subject: Fix it::ucwords and added tests for it::ucfirst and it::ucwords

---
 it.class   | 2 +-
 tests/it.t | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/it.class b/it.class
index b4a0d9e..6a796d4 100644
--- a/it.class
+++ b/it.class
@@ -432,7 +432,7 @@ static function ucfirst($string)
  */
 static function ucwords($string)
 {
-	return preg_replace_callback('/\b\w/u', function($m) { return mb_strtoupper($m[1]); }, mb_strtolower($string));
+	return preg_replace_callback('/\b\w/u', function($m) { return mb_strtoupper($m[0]); }, mb_strtolower($string));
 }
 
 static function substr_replace($string, $replacement, $start, $length)
diff --git a/tests/it.t b/tests/it.t
index 408d84a..8e4a7e2 100755
--- a/tests/it.t
+++ b/tests/it.t
@@ -347,6 +347,10 @@ is(it::date('datetime', 1000000.543), it::date('datetime', "1000000"), '... larg
 is(it::date('time', "10.5"), "10:05", 'interpret string with points with strtotime');
 is(it::date('time', "10.05"), "10:05", 'interpret string with points with strtotime');
 
+# it::uc*
+is(it::ucfirst('foo bär über'), 'Foo bär über');
+is(it::ucwords('foo bär über'), 'Foo Bär Über');
+
 # it::substr_replace
 is(it::substr_replace('abcdefgh', 'xyz', 2, 4), substr_replace('abcdefgh', 'xyz', 2, 4), 'it::substr_replace the same as substr_replace for ascii');
 is(it::substr_replace('✔☯♥', '☃☃', 1, 1), '✔☃☃♥', 'it::substr_replace for utf-8');
-- 
cgit v1.2.3