Browse Source

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
dho 19 years ago
parent
commit
ee403daf5d
2 changed files with 61 additions and 4 deletions
  1. 2 4
      cake/libs/view/helpers/text.php
  2. 59 0
      cake/tests/cases/libs/view/helpers/text.test.php

+ 2 - 4
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;

+ 59 - 0
cake/tests/cases/libs/view/helpers/text.test.php

@@ -0,0 +1,59 @@
+<?php
+/* SVN FILE: $Id$ */
+/**
+ * Short description for file.
+ *
+ * Long description for file
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite>
+ * 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, '<b>\1</b>');
+		$expected = '<b>This</b> is a test <b>text</b>';
+		$this->assertEqual($expected, $result);
+	}
+
+	function tearDown() {
+		unset($this->helper);
+	}
+}
+
+?>