Add tests for EllipsisString() and fix bug if param length < 3

This commit is contained in:
Matthias Loibl 2016-11-07 21:27:14 +01:00
parent f81711f40d
commit 030ba2894f
No known key found for this signature in database
GPG key ID: B1C7DF661ABB2C1A
2 changed files with 16 additions and 5 deletions

View file

@ -462,7 +462,10 @@ func Subtract(left interface{}, right interface{}) interface{} {
// EllipsisString returns a truncated short string,
// it appends '...' in the end of the length of string is too large.
func EllipsisString(str string, length int) string {
if len(str) < length {
if length <= 3 {
return "..."
}
if len(str) <= length {
return str
}
return str[:length-3] + "..."

View file

@ -68,14 +68,11 @@ func TestAvatarLink(t *testing.T) {
)
}
// TODO: AvatarLink()
// TODO: computeTimeDiff()
// TODO: TimeSincePro()
// TODO: timeSince()
// TODO: RawTimeSince()
// TODO: TimeSince()
// TODO: logn()
// TODO: humanateBytes()
func TestFileSize(t *testing.T) {
var size int64
@ -96,7 +93,18 @@ func TestFileSize(t *testing.T) {
}
// TODO: Subtract()
// TODO: EllipsisString()
func TestEllipsisString(t *testing.T) {
assert.Equal(t, "...", EllipsisString("foobar", 0))
assert.Equal(t, "...", EllipsisString("foobar", 1))
assert.Equal(t, "...", EllipsisString("foobar", 2))
assert.Equal(t, "...", EllipsisString("foobar", 3))
assert.Equal(t, "f...", EllipsisString("foobar", 4))
assert.Equal(t, "fo...", EllipsisString("foobar", 5))
assert.Equal(t, "foobar", EllipsisString("foobar", 6))
assert.Equal(t, "foobar", EllipsisString("foobar", 10))
}
// TODO: TruncateString()
// TODO: StringsToInt64s()
// TODO: Int64sToStrings()