mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-22 20:13:50 +08:00
Fixing ellipsis extension method
--HG-- branch : 1.x
This commit is contained in:
@@ -31,11 +31,29 @@ namespace Orchard.Tests.Utility.Extensions {
|
||||
Assert.That(aCamel.CamelFriendly(), Is.StringMatching(""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Ellipsize_ShouldTuncateToTheExactNumber() {
|
||||
const string toEllipsize = "Lorem ipsum";
|
||||
Assert.That(toEllipsize.Ellipsize(2, ""), Is.StringMatching("Lo"));
|
||||
Assert.That(toEllipsize.Ellipsize(1, ""), Is.StringMatching("L"));
|
||||
Assert.That(toEllipsize.Ellipsize(0, ""), Is.StringMatching(""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Ellipsize_TruncatedToWordBoundary() {
|
||||
const string toEllipsize = "Lorem ipsum";
|
||||
Assert.That(toEllipsize.Ellipsize(8, ""), Is.StringMatching("Lorem"));
|
||||
Assert.That(toEllipsize.Ellipsize(6, ""), Is.StringMatching("Lorem"));
|
||||
Assert.That(toEllipsize.Ellipsize(5, ""), Is.StringMatching("Lorem"));
|
||||
Assert.That(toEllipsize.Ellipsize(4, ""), Is.StringMatching(""));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Ellipsize_LongStringTruncatedToNearestWord() {
|
||||
const string toEllipsize = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed purus quis purus orci aliquam.";
|
||||
Assert.That(toEllipsize.Ellipsize(45), Is.StringMatching("Lorem ipsum dolor sit amet, consectetur …"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Ellipsize_ShortStringReturnedAsSame() {
|
||||
const string toEllipsize = "Lorem ipsum";
|
||||
|
@@ -27,7 +27,7 @@ namespace Orchard.Utility.Extensions {
|
||||
if (characterCount < 0 || text.Length <= characterCount)
|
||||
return text;
|
||||
|
||||
var trimmed = Regex.Replace(text.Substring(0, characterCount + 1), @"\s+\S*$", "") ;
|
||||
var trimmed = Regex.Replace(text.Substring(0, characterCount), @"\s+\S*$", "") ;
|
||||
|
||||
if(wordBoundary) {
|
||||
trimmed = Regex.Replace(trimmed + ".", @"\W*\w*$", "");
|
||||
|
Reference in New Issue
Block a user