From ee403daf5d14c1bdd54123c940c0218cc4342fa7 Mon Sep 17 00:00:00 2001 From: dho Date: Fri, 13 Apr 2007 14:27:59 +0000 Subject: [PATCH] Fixing problem with highlighting multiple phrases (ticket #2418) git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@4857 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/view/helpers/text.php | 6 +- .../cases/libs/view/helpers/text.test.php | 59 +++++++++++++++++++ 2 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 cake/tests/cases/libs/view/helpers/text.test.php diff --git a/cake/libs/view/helpers/text.php b/cake/libs/view/helpers/text.php index 3de1ff64c..34ac2b697 100644 --- a/cake/libs/view/helpers/text.php +++ b/cake/libs/view/helpers/text.php @@ -65,10 +65,8 @@ class TextHelper extends AppHelper { $with = array(); foreach($phrase as $key => $value) { - if (empty($key)) { - $key = $value; - $value = $highlighter; - } + $key = $value; + $value = $highlighter; $replace[] = '|(' . $key . ')|'; $with[] = empty($value) ? $highlighter : $value; diff --git a/cake/tests/cases/libs/view/helpers/text.test.php b/cake/tests/cases/libs/view/helpers/text.test.php new file mode 100644 index 000000000..7d35bdce1 --- /dev/null +++ b/cake/tests/cases/libs/view/helpers/text.test.php @@ -0,0 +1,59 @@ + + * Copyright 2005-2007, Cake Software Foundation, Inc. + * 1785 E. Sahara Avenue, Suite 490-204 + * Las Vegas, Nevada 89104 + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. + * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests + * @package cake.tests + * @subpackage cake.tests.cases.libs.view.helpers + * @since CakePHP(tm) v 1.2.0.4206 + * @version $Revision$ + * @modifiedby $LastChangedBy$ + * @lastmodified $Date$ + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ + require_once LIBS.'../app_helper.php'; + require_once LIBS.DS.'view'.DS.'helper.php'; + require_once LIBS.DS.'view'.DS.'helpers'.DS.'text.php'; +/** + * Short description for class. + * + * @package cake.tests + * @subpackage cake.tests.cases.libs.view.helpers + */ +class TextTest extends UnitTestCase { + var $helper = null; + + + function setUp() { + $this->helper = new TextHelper(); + } + + function testHighlight() { + $text = 'This is a test text'; + $phrases = array('This', 'text'); + $result = $this->helper->highlight($text, $phrases, '\1'); + $expected = 'This is a test text'; + $this->assertEqual($expected, $result); + } + + function tearDown() { + unset($this->helper); + } +} + +?> \ No newline at end of file