From 59342e0524c39f9bea7b0607e14e2166c29f862b Mon Sep 17 00:00:00 2001
From: Rachman Chavik
Date: Mon, 6 Feb 2012 17:35:19 +0700
Subject: [PATCH] moving methods from TextHelperTest to StringTest
---
lib/Cake/Test/Case/Utility/StringTest.php | 297 ++++++++++++++++++
.../Test/Case/View/Helper/TextHelperTest.php | 285 -----------------
2 files changed, 297 insertions(+), 285 deletions(-)
diff --git a/lib/Cake/Test/Case/Utility/StringTest.php b/lib/Cake/Test/Case/Utility/StringTest.php
index dfc480905..626521d34 100644
--- a/lib/Cake/Test/Case/Utility/StringTest.php
+++ b/lib/Cake/Test/Case/Utility/StringTest.php
@@ -25,6 +25,16 @@ App::uses('String', 'Utility');
*/
class StringTest extends CakeTestCase {
+ public function setUp() {
+ parent::setUp();
+ $this->Text = new String();
+ }
+
+ public function tearDown() {
+ parent::tearDown();
+ unset($this->Text);
+ }
+
/**
* testUuidGeneration method
*
@@ -344,4 +354,291 @@ This is the song that never ends.
TEXT;
$this->assertTextEquals($expected, $result);
}
+
+/**
+ * testTruncate method
+ *
+ * @return void
+ */
+ public function testTruncate() {
+ $text1 = 'The quick brown fox jumps over the lazy dog';
+ $text2 = 'Heizölrückstoßabdämpfung';
+ $text3 = '© 2005-2007, Cake Software Foundation, Inc.
written by Alexander Wegener';
+ $text4 = ' This image tag is not XHTML conform!
But the following image tag should be conform
Great, or?';
+ $text5 = '01234567890';
+ $text6 = 'Extra dates have been announced for this year\'s tour.
Tickets for the new shows in
';
+ $text7 = 'El moño está en el lugar correcto. Eso fue lo que dijo la niña, ¿habrá dicho la verdad?';
+ $text8 = 'Vive la R' . chr(195) . chr(169) . 'publique de France';
+ $text9 = 'НОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
+
+ $this->assertSame($this->Text->truncate($text1, 15), 'The quick br...');
+ $this->assertSame($this->Text->truncate($text1, 15, array('exact' => false)), 'The quick...');
+ $this->assertSame($this->Text->truncate($text1, 100), 'The quick brown fox jumps over the lazy dog');
+ $this->assertSame($this->Text->truncate($text2, 10), 'Heiz&ou...');
+ $this->assertSame($this->Text->truncate($text2, 10, array('exact' => false)), '...');
+ $this->assertSame($this->Text->truncate($text3, 20), '© 2005-20...');
+ $this->assertSame($this->Text->truncate($text4, 15), ' This image ...');
+ $this->assertSame($this->Text->truncate($text4, 45, array('html' => true)), ' This image tag is not XHTML conform!
But t...');
+ $this->assertSame($this->Text->truncate($text4, 90, array('html' => true)), ' This image tag is not XHTML conform!
But the following image tag should be conform
Grea...');
+ $this->assertSame($this->Text->truncate($text5, 6, array('ending' => '', 'html' => true)), '012345');
+ $this->assertSame($this->Text->truncate($text5, 20, array('ending' => '', 'html' => true)), $text5);
+ $this->assertSame($this->Text->truncate($text6, 57, array('exact' => false, 'html' => true)), "Extra dates have been announced for this year's...
");
+ $this->assertSame($this->Text->truncate($text7, 255), $text7);
+ $this->assertSame($this->Text->truncate($text7, 15), 'El moño está...');
+ $this->assertSame($this->Text->truncate($text8, 15), 'Vive la R'.chr(195).chr(169).'pu...');
+ $this->assertSame($this->Text->truncate($text9, 10), 'НОПРСТУ...');
+
+ $text = 'Iamatestwithnospacesandhtml
';
+ $result = $this->Text->truncate($text, 10, array(
+ 'ending' => '...',
+ 'exact' => false,
+ 'html' => true
+ ));
+ $expected = '...
';
+ $this->assertEquals($expected, $result);
+
+ $text = 'El biógrafo de Steve Jobs, Walter
+Isaacson, explica porqué Jobs le pidió que le hiciera su biografía en
+este artículo de El País.
+Por qué Steve era distinto.
+http://www.elpais.com/articulo/primer/plano/
+Steve/era/distinto/elpepueconeg/20111009elpneglse_4/Tes
+Ya se ha publicado la biografía de
+Steve Jobs escrita por Walter Isaacson "Steve Jobs by Walter
+Isaacson", aquí os dejamos la dirección de amazon donde
+podeís adquirirla.
+http://www.amazon.com/Steve-
+Jobs-Walter-Isaacson/dp/1451648537
';
+ $result = $this->Text->truncate($text, 500, array(
+ 'ending' => '... ',
+ 'exact' => false,
+ 'html' => true
+ ));
+ $expected = 'El biógrafo de Steve Jobs, Walter
+Isaacson, explica porqué Jobs le pidió que le hiciera su biografía en
+este artículo de El País.
+Por qué Steve era distinto.
+http://www.elpais.com/articulo/primer/plano/
+Steve/era/distinto/elpepueconeg/20111009elpneglse_4/Tes
+Ya se ha publicado la biografía de
+Steve Jobs escrita por Walter Isaacson "Steve Jobs by Walter
+Isaacson", aquí os dejamos la dirección de amazon donde
+podeís adquirirla.
+...
';
+ $this->assertEquals($expected, $result);
+ }
+
+/**
+ * testHighlight method
+ *
+ * @return void
+ */
+ public function testHighlight() {
+ $text = 'This is a test text';
+ $phrases = array('This', 'text');
+ $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
+ $expected = 'This is a test text';
+ $this->assertEquals($expected, $result);
+
+ $text = 'This is a test text';
+ $phrases = null;
+ $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
+ $this->assertEquals($result, $text);
+
+ $text = 'This is a (test) text';
+ $phrases = '(test';
+ $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
+ $this->assertEquals('This is a (test) text', $result);
+
+ $text = 'Ich saß in einem Café am Übergang';
+ $expected = 'Ich saß in einem Café am Übergang';
+ $phrases = array('saß', 'café', 'übergang');
+ $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
+ $this->assertEquals($expected, $result);
+ }
+
+/**
+ * testHighlightHtml method
+ *
+ * @return void
+ */
+ public function testHighlightHtml() {
+ $text1 = 'strongbow isn’t real cider
';
+ $text2 = 'strongbow isn’t real cider
';
+ $text3 = '';
+ $text4 = 'What a strong mouse: ';
+ $options = array('format' => '\1', 'html' => true);
+
+ $expected = 'strongbow isn’t real cider
';
+ $this->assertEquals($this->Text->highlight($text1, 'strong', $options), $expected);
+
+ $expected = 'strongbow isn’t real cider
';
+ $this->assertEquals($this->Text->highlight($text2, 'strong', $options), $expected);
+
+ $this->assertEquals($this->Text->highlight($text3, 'strong', $options), $text3);
+
+ $this->assertEquals($this->Text->highlight($text3, array('strong', 'what'), $options), $text3);
+
+ $expected = 'What a strong mouse: ';
+ $this->assertEquals($this->Text->highlight($text4, array('strong', 'what'), $options), $expected);
+ }
+
+/**
+ * testHighlightMulti method
+ *
+ * @return void
+ */
+ public function testHighlightMulti() {
+ $text = 'This is a test text';
+ $phrases = array('This', 'text');
+ $result = $this->Text->highlight($text, $phrases, array('format' => array('\1', '\1')));
+ $expected = 'This is a test text';
+ $this->assertEquals($expected, $result);
+
+ }
+
+/**
+ * testStripLinks method
+ *
+ * @return void
+ */
+ public function testStripLinks() {
+ $text = 'This is a test text';
+ $expected = 'This is a test text';
+ $result = $this->Text->stripLinks($text);
+ $this->assertEquals($expected, $result);
+
+ $text = 'This is a test text';
+ $expected = 'This is a test text';
+ $result = $this->Text->stripLinks($text);
+ $this->assertEquals($expected, $result);
+
+ $text = 'This is a test text';
+ $expected = 'This is a test text';
+ $result = $this->Text->stripLinks($text);
+ $this->assertEquals($expected, $result);
+
+ $text = 'This is a test and some other text';
+ $expected = 'This is a test and some other text';
+ $result = $this->Text->stripLinks($text);
+ $this->assertEquals($expected, $result);
+ }
+
+/**
+ * testHighlightCaseInsensitivity method
+ *
+ * @return void
+ */
+ public function testHighlightCaseInsensitivity() {
+ $text = 'This is a Test text';
+ $expected = 'This is a Test text';
+
+ $result = $this->Text->highlight($text, 'test', array('format' => '\1'));
+ $this->assertEquals($expected, $result);
+
+ $result = $this->Text->highlight($text, array('test'), array('format' => '\1'));
+ $this->assertEquals($expected, $result);
+ }
+
+/**
+ * testExcerpt method
+ *
+ * @return void
+ */
+ public function testExcerpt() {
+ $text = 'This is a phrase with test text to play with';
+
+ $expected = '...ase with test text to ...';
+ $result = $this->Text->excerpt($text, 'test', 9, '...');
+ $this->assertEquals($expected, $result);
+
+ $expected = 'This is a...';
+ $result = $this->Text->excerpt($text, 'not_found', 9, '...');
+ $this->assertEquals($expected, $result);
+
+ $expected = 'This is a phras...';
+ $result = $this->Text->excerpt($text, null, 9, '...');
+ $this->assertEquals($expected, $result);
+
+ $expected = $text;
+ $result = $this->Text->excerpt($text, null, 200, '...');
+ $this->assertEquals($expected, $result);
+
+ $expected = '...a phrase w...';
+ $result = $this->Text->excerpt($text, 'phrase', 2, '...');
+ $this->assertEquals($expected, $result);
+
+ $phrase = 'This is a phrase with test text';
+ $expected = $text;
+ $result = $this->Text->excerpt($text, $phrase, 13, '...');
+ $this->assertEquals($expected, $result);
+
+ $text = 'aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaa';
+ $phrase = 'bbbbbbbb';
+ $result = $this->Text->excerpt($text, $phrase, 10);
+ $expected = '...aaaaaaaaaabbbbbbbbaaaaaaaaaa...';
+ $this->assertEquals($expected, $result);
+ }
+
+/**
+ * testExcerptCaseInsensitivity method
+ *
+ * @return void
+ */
+ public function testExcerptCaseInsensitivity() {
+ $text = 'This is a phrase with test text to play with';
+
+ $expected = '...ase with test text to ...';
+ $result = $this->Text->excerpt($text, 'TEST', 9, '...');
+ $this->assertEquals($expected, $result);
+
+ $expected = 'This is a...';
+ $result = $this->Text->excerpt($text, 'NOT_FOUND', 9, '...');
+ $this->assertEquals($expected, $result);
+ }
+
+/**
+ * testListGeneration method
+ *
+ * @return void
+ */
+ public function testListGeneration() {
+ $result = $this->Text->toList(array());
+ $this->assertEquals($result, '');
+
+ $result = $this->Text->toList(array('One'));
+ $this->assertEquals($result, 'One');
+
+ $result = $this->Text->toList(array('Larry', 'Curly', 'Moe'));
+ $this->assertEquals($result, 'Larry, Curly and Moe');
+
+ $result = $this->Text->toList(array('Dusty', 'Lucky', 'Ned'), 'y');
+ $this->assertEquals($result, 'Dusty, Lucky y Ned');
+
+ $result = $this->Text->toList(array(1 => 'Dusty', 2 => 'Lucky', 3 => 'Ned'), 'y');
+ $this->assertEquals($result, 'Dusty, Lucky y Ned');
+
+ $result = $this->Text->toList(array(1 => 'Dusty', 2 => 'Lucky', 3 => 'Ned'), 'and', ' + ');
+ $this->assertEquals($result, 'Dusty + Lucky and Ned');
+
+ $result = $this->Text->toList(array('name1' => 'Dusty', 'name2' => 'Lucky'));
+ $this->assertEquals($result, 'Dusty and Lucky');
+
+ $result = $this->Text->toList(array('test_0' => 'banana', 'test_1' => 'apple', 'test_2' => 'lemon'));
+ $this->assertEquals($result, 'banana, apple and lemon');
+ }
+
}
diff --git a/lib/Cake/Test/Case/View/Helper/TextHelperTest.php b/lib/Cake/Test/Case/View/Helper/TextHelperTest.php
index 88dc63dd0..8882d8750 100644
--- a/lib/Cake/Test/Case/View/Helper/TextHelperTest.php
+++ b/lib/Cake/Test/Case/View/Helper/TextHelperTest.php
@@ -47,188 +47,6 @@ class TextHelperTest extends CakeTestCase {
unset($this->View, $this->Text);
}
-/**
- * testTruncate method
- *
- * @return void
- */
- public function testTruncate() {
- $text1 = 'The quick brown fox jumps over the lazy dog';
- $text2 = 'Heizölrückstoßabdämpfung';
- $text3 = '© 2005-2007, Cake Software Foundation, Inc.
written by Alexander Wegener';
- $text4 = ' This image tag is not XHTML conform!
But the following image tag should be conform
Great, or?';
- $text5 = '01234567890';
- $text6 = 'Extra dates have been announced for this year\'s tour.
Tickets for the new shows in
';
- $text7 = 'El moño está en el lugar correcto. Eso fue lo que dijo la niña, ¿habrá dicho la verdad?';
- $text8 = 'Vive la R' . chr(195) . chr(169) . 'publique de France';
- $text9 = 'НОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыь';
-
- $this->assertSame($this->Text->truncate($text1, 15), 'The quick br...');
- $this->assertSame($this->Text->truncate($text1, 15, array('exact' => false)), 'The quick...');
- $this->assertSame($this->Text->truncate($text1, 100), 'The quick brown fox jumps over the lazy dog');
- $this->assertSame($this->Text->truncate($text2, 10), 'Heiz&ou...');
- $this->assertSame($this->Text->truncate($text2, 10, array('exact' => false)), '...');
- $this->assertSame($this->Text->truncate($text3, 20), '© 2005-20...');
- $this->assertSame($this->Text->truncate($text4, 15), ' This image ...');
- $this->assertSame($this->Text->truncate($text4, 45, array('html' => true)), ' This image tag is not XHTML conform!
But t...');
- $this->assertSame($this->Text->truncate($text4, 90, array('html' => true)), ' This image tag is not XHTML conform!
But the following image tag should be conform
Grea...');
- $this->assertSame($this->Text->truncate($text5, 6, array('ending' => '', 'html' => true)), '012345');
- $this->assertSame($this->Text->truncate($text5, 20, array('ending' => '', 'html' => true)), $text5);
- $this->assertSame($this->Text->truncate($text6, 57, array('exact' => false, 'html' => true)), "Extra dates have been announced for this year's...
");
- $this->assertSame($this->Text->truncate($text7, 255), $text7);
- $this->assertSame($this->Text->truncate($text7, 15), 'El moño está...');
- $this->assertSame($this->Text->truncate($text8, 15), 'Vive la R'.chr(195).chr(169).'pu...');
- $this->assertSame($this->Text->truncate($text9, 10), 'НОПРСТУ...');
-
- $text = 'Iamatestwithnospacesandhtml
';
- $result = $this->Text->truncate($text, 10, array(
- 'ending' => '...',
- 'exact' => false,
- 'html' => true
- ));
- $expected = '...
';
- $this->assertEquals($expected, $result);
-
- $text = 'El biógrafo de Steve Jobs, Walter
-Isaacson, explica porqué Jobs le pidió que le hiciera su biografía en
-este artículo de El País.
-Por qué Steve era distinto.
-http://www.elpais.com/articulo/primer/plano/
-Steve/era/distinto/elpepueconeg/20111009elpneglse_4/Tes
-Ya se ha publicado la biografía de
-Steve Jobs escrita por Walter Isaacson "Steve Jobs by Walter
-Isaacson", aquí os dejamos la dirección de amazon donde
-podeís adquirirla.
-http://www.amazon.com/Steve-
-Jobs-Walter-Isaacson/dp/1451648537
';
- $result = $this->Text->truncate($text, 500, array(
- 'ending' => '... ',
- 'exact' => false,
- 'html' => true
- ));
- $expected = 'El biógrafo de Steve Jobs, Walter
-Isaacson, explica porqué Jobs le pidió que le hiciera su biografía en
-este artículo de El País.
-Por qué Steve era distinto.
-http://www.elpais.com/articulo/primer/plano/
-Steve/era/distinto/elpepueconeg/20111009elpneglse_4/Tes
-Ya se ha publicado la biografía de
-Steve Jobs escrita por Walter Isaacson "Steve Jobs by Walter
-Isaacson", aquí os dejamos la dirección de amazon donde
-podeís adquirirla.
-...
';
- $this->assertEquals($expected, $result);
- }
-
-/**
- * testHighlight method
- *
- * @return void
- */
- public function testHighlight() {
- $text = 'This is a test text';
- $phrases = array('This', 'text');
- $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
- $expected = 'This is a test text';
- $this->assertEquals($expected, $result);
-
- $text = 'This is a test text';
- $phrases = null;
- $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
- $this->assertEquals($result, $text);
-
- $text = 'This is a (test) text';
- $phrases = '(test';
- $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
- $this->assertEquals('This is a (test) text', $result);
-
- $text = 'Ich saß in einem Café am Übergang';
- $expected = 'Ich saß in einem Café am Übergang';
- $phrases = array('saß', 'café', 'übergang');
- $result = $this->Text->highlight($text, $phrases, array('format' => '\1'));
- $this->assertEquals($expected, $result);
- }
-
-/**
- * testHighlightHtml method
- *
- * @return void
- */
- public function testHighlightHtml() {
- $text1 = 'strongbow isn’t real cider
';
- $text2 = 'strongbow isn’t real cider
';
- $text3 = '';
- $text4 = 'What a strong mouse: ';
- $options = array('format' => '\1', 'html' => true);
-
- $expected = 'strongbow isn’t real cider
';
- $this->assertEquals($this->Text->highlight($text1, 'strong', $options), $expected);
-
- $expected = 'strongbow isn’t real cider
';
- $this->assertEquals($this->Text->highlight($text2, 'strong', $options), $expected);
-
- $this->assertEquals($this->Text->highlight($text3, 'strong', $options), $text3);
-
- $this->assertEquals($this->Text->highlight($text3, array('strong', 'what'), $options), $text3);
-
- $expected = 'What a strong mouse: ';
- $this->assertEquals($this->Text->highlight($text4, array('strong', 'what'), $options), $expected);
- }
-
-/**
- * testHighlightMulti method
- *
- * @return void
- */
- public function testHighlightMulti() {
- $text = 'This is a test text';
- $phrases = array('This', 'text');
- $result = $this->Text->highlight($text, $phrases, array('format' => array('\1', '\1')));
- $expected = 'This is a test text';
- $this->assertEquals($expected, $result);
-
- }
-
-/**
- * testStripLinks method
- *
- * @return void
- */
- public function testStripLinks() {
- $text = 'This is a test text';
- $expected = 'This is a test text';
- $result = $this->Text->stripLinks($text);
- $this->assertEquals($expected, $result);
-
- $text = 'This is a test text';
- $expected = 'This is a test text';
- $result = $this->Text->stripLinks($text);
- $this->assertEquals($expected, $result);
-
- $text = 'This is a test text';
- $expected = 'This is a test text';
- $result = $this->Text->stripLinks($text);
- $this->assertEquals($expected, $result);
-
- $text = 'This is a test and some other text';
- $expected = 'This is a test and some other text';
- $result = $this->Text->stripLinks($text);
- $this->assertEquals($expected, $result);
- }
-
/**
* testAutoLink method
*
@@ -405,107 +223,4 @@ podeís adquirirla.
$this->assertEquals($expected, $result);
}
-/**
- * testHighlightCaseInsensitivity method
- *
- * @return void
- */
- public function testHighlightCaseInsensitivity() {
- $text = 'This is a Test text';
- $expected = 'This is a Test text';
-
- $result = $this->Text->highlight($text, 'test', array('format' => '\1'));
- $this->assertEquals($expected, $result);
-
- $result = $this->Text->highlight($text, array('test'), array('format' => '\1'));
- $this->assertEquals($expected, $result);
- }
-
-/**
- * testExcerpt method
- *
- * @return void
- */
- public function testExcerpt() {
- $text = 'This is a phrase with test text to play with';
-
- $expected = '...ase with test text to ...';
- $result = $this->Text->excerpt($text, 'test', 9, '...');
- $this->assertEquals($expected, $result);
-
- $expected = 'This is a...';
- $result = $this->Text->excerpt($text, 'not_found', 9, '...');
- $this->assertEquals($expected, $result);
-
- $expected = 'This is a phras...';
- $result = $this->Text->excerpt($text, null, 9, '...');
- $this->assertEquals($expected, $result);
-
- $expected = $text;
- $result = $this->Text->excerpt($text, null, 200, '...');
- $this->assertEquals($expected, $result);
-
- $expected = '...a phrase w...';
- $result = $this->Text->excerpt($text, 'phrase', 2, '...');
- $this->assertEquals($expected, $result);
-
- $phrase = 'This is a phrase with test text';
- $expected = $text;
- $result = $this->Text->excerpt($text, $phrase, 13, '...');
- $this->assertEquals($expected, $result);
-
- $text = 'aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaa';
- $phrase = 'bbbbbbbb';
- $result = $this->Text->excerpt($text, $phrase, 10);
- $expected = '...aaaaaaaaaabbbbbbbbaaaaaaaaaa...';
- $this->assertEquals($expected, $result);
- }
-
-/**
- * testExcerptCaseInsensitivity method
- *
- * @return void
- */
- public function testExcerptCaseInsensitivity() {
- $text = 'This is a phrase with test text to play with';
-
- $expected = '...ase with test text to ...';
- $result = $this->Text->excerpt($text, 'TEST', 9, '...');
- $this->assertEquals($expected, $result);
-
- $expected = 'This is a...';
- $result = $this->Text->excerpt($text, 'NOT_FOUND', 9, '...');
- $this->assertEquals($expected, $result);
- }
-
-/**
- * testListGeneration method
- *
- * @return void
- */
- public function testListGeneration() {
- $result = $this->Text->toList(array());
- $this->assertEquals($result, '');
-
- $result = $this->Text->toList(array('One'));
- $this->assertEquals($result, 'One');
-
- $result = $this->Text->toList(array('Larry', 'Curly', 'Moe'));
- $this->assertEquals($result, 'Larry, Curly and Moe');
-
- $result = $this->Text->toList(array('Dusty', 'Lucky', 'Ned'), 'y');
- $this->assertEquals($result, 'Dusty, Lucky y Ned');
-
- $result = $this->Text->toList(array(1 => 'Dusty', 2 => 'Lucky', 3 => 'Ned'), 'y');
- $this->assertEquals($result, 'Dusty, Lucky y Ned');
-
- $result = $this->Text->toList(array(1 => 'Dusty', 2 => 'Lucky', 3 => 'Ned'), 'and', ' + ');
- $this->assertEquals($result, 'Dusty + Lucky and Ned');
-
- $result = $this->Text->toList(array('name1' => 'Dusty', 'name2' => 'Lucky'));
- $this->assertEquals($result, 'Dusty and Lucky');
-
- $result = $this->Text->toList(array('test_0' => 'banana', 'test_1' => 'apple', 'test_2' => 'lemon'));
- $this->assertEquals($result, 'banana, apple and lemon');
- }
}