63 lines
1.1 KiB
Go
63 lines
1.1 KiB
Go
|
// Copyright 2015 Huan Du. All rights reserved.
|
|||
|
// Licensed under the MIT license that can be found in the LICENSE file.
|
|||
|
|
|||
|
package xstrings
|
|||
|
|
|||
|
import (
|
|||
|
"fmt"
|
|||
|
"testing"
|
|||
|
)
|
|||
|
|
|||
|
func TestLen(t *testing.T) {
|
|||
|
runner := func(str string) string {
|
|||
|
return fmt.Sprint(Len(str))
|
|||
|
}
|
|||
|
|
|||
|
runTestCases(t, runner, _M{
|
|||
|
"abcdef": "6",
|
|||
|
"中文": "2",
|
|||
|
"中yin文hun排": "9",
|
|||
|
"": "0",
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
func TestWordCount(t *testing.T) {
|
|||
|
runner := func(str string) string {
|
|||
|
return fmt.Sprint(WordCount(str))
|
|||
|
}
|
|||
|
|
|||
|
runTestCases(t, runner, _M{
|
|||
|
"one word: λ": "3",
|
|||
|
"中文": "0",
|
|||
|
"你好,sekai!": "1",
|
|||
|
"oh, it's super-fancy!!a": "4",
|
|||
|
"": "0",
|
|||
|
"-": "0",
|
|||
|
"it's-'s": "1",
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
func TestWidth(t *testing.T) {
|
|||
|
runner := func(str string) string {
|
|||
|
return fmt.Sprint(Width(str))
|
|||
|
}
|
|||
|
|
|||
|
runTestCases(t, runner, _M{
|
|||
|
"abcd\t0123\n7890": "12",
|
|||
|
"中zh英eng文混排": "15",
|
|||
|
"": "0",
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
func TestRuneWidth(t *testing.T) {
|
|||
|
runner := func(str string) string {
|
|||
|
return fmt.Sprint(RuneWidth([]rune(str)[0]))
|
|||
|
}
|
|||
|
|
|||
|
runTestCases(t, runner, _M{
|
|||
|
"a": "1",
|
|||
|
"中": "2",
|
|||
|
"\x11": "0",
|
|||
|
})
|
|||
|
}
|