mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 11:28:25 +00:00
Merge pull request #779 from dereuromark/2.3-ellipsis-html
use html ellipsis if possible
This commit is contained in:
commit
064fef1a15
2 changed files with 34 additions and 9 deletions
|
@ -380,17 +380,17 @@ TEXT;
|
||||||
$this->assertSame($this->Text->truncate($text3, 20), '<b>© 2005-20...');
|
$this->assertSame($this->Text->truncate($text3, 20), '<b>© 2005-20...');
|
||||||
$this->assertSame($this->Text->truncate($text4, 15), '<img src="my...');
|
$this->assertSame($this->Text->truncate($text4, 15), '<img src="my...');
|
||||||
$this->assertSame($this->Text->truncate($text5, 6, array('ellipsis' => '')), '0<b>1<');
|
$this->assertSame($this->Text->truncate($text5, 6, array('ellipsis' => '')), '0<b>1<');
|
||||||
$this->assertSame($this->Text->truncate($text1, 15, array('html' => true)), 'The quick br...');
|
$this->assertSame($this->Text->truncate($text1, 15, array('html' => true)), 'The quick brow' . chr(226));
|
||||||
$this->assertSame($this->Text->truncate($text1, 15, array('exact' => false, 'html' => true)), 'The quick...');
|
$this->assertSame($this->Text->truncate($text1, 15, array('exact' => false, 'html' => true)), 'The quick' . chr(226));
|
||||||
$this->assertSame($this->Text->truncate($text2, 10, array('html' => true)), 'Heizölr...');
|
$this->assertSame($this->Text->truncate($text2, 10, array('html' => true)), 'Heizölrüc' . chr(226));
|
||||||
$this->assertSame($this->Text->truncate($text2, 10, array('exact' => false, 'html' => true)), '...');
|
$this->assertSame($this->Text->truncate($text2, 10, array('exact' => false, 'html' => true)), chr(226));
|
||||||
$this->assertSame($this->Text->truncate($text3, 20, array('html' => true)), '<b>© 2005-2007, Cake...</b>');
|
$this->assertSame($this->Text->truncate($text3, 20, array('html' => true)), '<b>© 2005-2007, Cake S' . chr(226) . '</b>');
|
||||||
$this->assertSame($this->Text->truncate($text4, 15, array('html' => true)), '<img src="mypic.jpg"> This image ...');
|
$this->assertSame($this->Text->truncate($text4, 15, array('html' => true)), '<img src="mypic.jpg"> This image ta' . chr(226));
|
||||||
$this->assertSame($this->Text->truncate($text4, 45, array('html' => true)), '<img src="mypic.jpg"> This image tag is not XHTML conform!<br><hr/><b>But t...</b>');
|
$this->assertSame($this->Text->truncate($text4, 45, array('html' => true)), '<img src="mypic.jpg"> This image tag is not XHTML conform!<br><hr/><b>But the' . chr(226) . '</b>');
|
||||||
$this->assertSame($this->Text->truncate($text4, 90, array('html' => true)), '<img src="mypic.jpg"> This image tag is not XHTML conform!<br><hr/><b>But the following image tag should be conform <img src="mypic.jpg" alt="Me, myself and I" /></b><br />Grea...');
|
$this->assertSame($this->Text->truncate($text4, 90, array('html' => true)), '<img src="mypic.jpg"> This image tag is not XHTML conform!<br><hr/><b>But the following image tag should be conform <img src="mypic.jpg" alt="Me, myself and I" /></b><br />Great,' . chr(226));
|
||||||
$this->assertSame($this->Text->truncate($text5, 6, array('ellipsis' => '', 'html' => true)), '0<b>1<i>2<span class="myclass">3</span>4<u>5</u></i></b>');
|
$this->assertSame($this->Text->truncate($text5, 6, array('ellipsis' => '', 'html' => true)), '0<b>1<i>2<span class="myclass">3</span>4<u>5</u></i></b>');
|
||||||
$this->assertSame($this->Text->truncate($text5, 20, array('ellipsis' => '', 'html' => true)), $text5);
|
$this->assertSame($this->Text->truncate($text5, 20, array('ellipsis' => '', 'html' => true)), $text5);
|
||||||
$this->assertSame($this->Text->truncate($text6, 57, array('exact' => false, 'html' => true)), "<p><strong>Extra dates have been announced for this year's...</strong></p>");
|
$this->assertSame($this->Text->truncate($text6, 57, array('exact' => false, 'html' => true)), "<p><strong>Extra dates have been announced for this year's" . chr(226) . "</strong></p>");
|
||||||
$this->assertSame($this->Text->truncate($text7, 255), $text7);
|
$this->assertSame($this->Text->truncate($text7, 255), $text7);
|
||||||
$this->assertSame($this->Text->truncate($text7, 15), 'El moño está...');
|
$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($text8, 15), 'Vive la R' . chr(195) . chr(169) . 'pu...');
|
||||||
|
@ -459,6 +459,29 @@ podeís adquirirla.</span></p>
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* testTruncate method with non utf8 sites
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function testTruncateLegacy() {
|
||||||
|
Configure::write('App.encoding', 'ISO-8859-1');
|
||||||
|
$text = '<b>© 2005-2007, Cake Software Foundation, Inc.</b><br />written by Alexander Wegener';
|
||||||
|
$result = $this->Text->truncate($text, 31, array(
|
||||||
|
'html' => true,
|
||||||
|
'exact' => false,
|
||||||
|
));
|
||||||
|
$expected = '<b>© 2005-2007, Cake Software...</b>';
|
||||||
|
$this->assertEquals($expected, $result);
|
||||||
|
|
||||||
|
$result = $this->Text->truncate($text, 31, array(
|
||||||
|
'html' => true,
|
||||||
|
'exact' => true,
|
||||||
|
));
|
||||||
|
$expected = '<b>© 2005-2007, Cake Software F...</b>';
|
||||||
|
$this->assertEquals($expected, $result);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testTail method
|
* testTail method
|
||||||
*
|
*
|
||||||
|
|
|
@ -482,6 +482,8 @@ class String {
|
||||||
);
|
);
|
||||||
if (isset($options['ending'])) {
|
if (isset($options['ending'])) {
|
||||||
$default['ellipsis'] = $options['ending'];
|
$default['ellipsis'] = $options['ending'];
|
||||||
|
} elseif (!empty($options['html']) && Configure::read('App.encoding') == 'UTF-8') {
|
||||||
|
$default['ellipsis'] = chr(226);
|
||||||
}
|
}
|
||||||
$options = array_merge($default, $options);
|
$options = array_merge($default, $options);
|
||||||
extract($options);
|
extract($options);
|
||||||
|
|
Loading…
Reference in a new issue