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, // EllipsisString returns a truncated short string,
// it appends '...' in the end of the length of string is too large. // it appends '...' in the end of the length of string is too large.
func EllipsisString(str string, length int) string { func EllipsisString(str string, length int) string {
if len(str) < length { if length <= 3 {
return "..."
}
if len(str) <= length {
return str return str
} }
return str[:length-3] + "..." return str[:length-3] + "..."

View file

@ -68,14 +68,11 @@ func TestAvatarLink(t *testing.T) {
) )
} }
// TODO: AvatarLink()
// TODO: computeTimeDiff() // TODO: computeTimeDiff()
// TODO: TimeSincePro() // TODO: TimeSincePro()
// TODO: timeSince() // TODO: timeSince()
// TODO: RawTimeSince() // TODO: RawTimeSince()
// TODO: TimeSince() // TODO: TimeSince()
// TODO: logn()
// TODO: humanateBytes()
func TestFileSize(t *testing.T) { func TestFileSize(t *testing.T) {
var size int64 var size int64
@ -96,7 +93,18 @@ func TestFileSize(t *testing.T) {
} }
// TODO: Subtract() // 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: TruncateString()
// TODO: StringsToInt64s() // TODO: StringsToInt64s()
// TODO: Int64sToStrings() // TODO: Int64sToStrings()