1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
wtf/utils/text_test.go
Chris Cummer 58299c2efa
WTF-484 DigitalOcean module (#782)
* WTF-484 DigitalOcean module stubbed out
* WTF-484 Delete droplets via Ctrl-d
* WTF-484 Rebasing off master after a long time away
* WTF-484 Improve DigitalOcean display
* WTF-484 Can shutdown and restart the selected droplet
* WTF-484 Display info about the selected droplet using the ? key
* WTF-484 Display info about the selected droplet using the Return key
* WTF-484 Greatly improve the utils.Truncate function
* WTF-484 Display a droplet's features in the info modal
* WTF-484 Change reboot key from r to b to not conflict with refresh
* WTF-484 Panic if a keyboard control is mapped to the same character more than once
* WTF-484 Colorize droplet status indicator
* WTF-484 Extract view.InfoTable out into a reusable component
2019-12-13 11:33:29 -08:00

46 lines
1.3 KiB
Go

package utils
import (
"testing"
"github.com/rivo/tview"
"github.com/stretchr/testify/assert"
)
func Test_CenterText(t *testing.T) {
assert.Equal(t, "cat", CenterText("cat", -9))
assert.Equal(t, "cat", CenterText("cat", 0))
assert.Equal(t, " cat ", CenterText("cat", 9))
}
func Test_HighlightableHelper(t *testing.T) {
view := tview.NewTextView()
actual := HighlightableHelper(view, "cats", 0, 5)
assert.Equal(t, "[\"0\"][\"\"]cats [\"\"]\n", actual)
}
func Test_RowPadding(t *testing.T) {
assert.Equal(t, "", RowPadding(0, 0))
assert.Equal(t, "", RowPadding(5, 2))
assert.Equal(t, " ", RowPadding(1, 2))
assert.Equal(t, " ", RowPadding(0, 5))
}
func Test_Truncate(t *testing.T) {
assert.Equal(t, "", Truncate("cat", 0, false))
assert.Equal(t, "c", Truncate("cat", 1, false))
assert.Equal(t, "ca", Truncate("cat", 2, false))
assert.Equal(t, "cat", Truncate("cat", 3, false))
assert.Equal(t, "cat", Truncate("cat", 4, false))
assert.Equal(t, "", Truncate("cat", 0, true))
assert.Equal(t, "c", Truncate("cat", 1, true))
assert.Equal(t, "c…", Truncate("cat", 2, true))
assert.Equal(t, "cat", Truncate("cat", 3, true))
assert.Equal(t, "cat", Truncate("cat", 4, true))
// Only supports non-ellipsed emoji
assert.Equal(t, "šŸŒ®šŸš™", Truncate("šŸŒ®šŸš™šŸ’„šŸ‘¾", 2, false))
}