2018-08-27 19:53:10 +00:00
|
|
|
package util
|
2016-03-25 16:14:22 +00:00
|
|
|
|
2016-09-02 11:14:31 +00:00
|
|
|
import (
|
|
|
|
|
"testing"
|
2016-03-28 12:43:08 +00:00
|
|
|
|
2018-08-26 03:06:44 +00:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
)
|
2016-09-02 11:14:31 +00:00
|
|
|
|
2016-09-28 19:54:34 +00:00
|
|
|
func TestStringWidth(t *testing.T) {
|
2018-08-26 03:06:44 +00:00
|
|
|
bytes := []byte("\tPot să \tmănânc sticlă și ea nu mă rănește.")
|
2018-06-03 21:13:03 +00:00
|
|
|
|
2018-08-26 03:06:44 +00:00
|
|
|
n := StringWidth(bytes, 23, 4)
|
|
|
|
|
assert.Equal(t, 26, n)
|
2018-06-03 21:13:03 +00:00
|
|
|
}
|
|
|
|
|
|
2018-08-26 03:06:44 +00:00
|
|
|
func TestSliceVisualEnd(t *testing.T) {
|
|
|
|
|
s := []byte("\thello")
|
2019-02-04 05:24:55 +00:00
|
|
|
slc, n, _ := SliceVisualEnd(s, 2, 4)
|
2018-08-26 03:06:44 +00:00
|
|
|
assert.Equal(t, []byte("\thello"), slc)
|
|
|
|
|
assert.Equal(t, 2, n)
|
2018-06-03 21:13:03 +00:00
|
|
|
|
2019-02-04 05:24:55 +00:00
|
|
|
slc, n, _ = SliceVisualEnd(s, 1, 4)
|
2018-08-26 03:06:44 +00:00
|
|
|
assert.Equal(t, []byte("\thello"), slc)
|
|
|
|
|
assert.Equal(t, 1, n)
|
2018-06-03 21:13:03 +00:00
|
|
|
|
2019-02-04 05:24:55 +00:00
|
|
|
slc, n, _ = SliceVisualEnd(s, 4, 4)
|
2018-08-26 03:06:44 +00:00
|
|
|
assert.Equal(t, []byte("hello"), slc)
|
|
|
|
|
assert.Equal(t, 0, n)
|
2018-06-03 21:13:03 +00:00
|
|
|
|
2019-02-04 05:24:55 +00:00
|
|
|
slc, n, _ = SliceVisualEnd(s, 5, 4)
|
2018-08-26 03:06:44 +00:00
|
|
|
assert.Equal(t, []byte("ello"), slc)
|
|
|
|
|
assert.Equal(t, 0, n)
|
2018-06-03 21:13:03 +00:00
|
|
|
}
|