mirror of
https://github.com/samber/lo.git
synced 2026-04-22 15:37:14 +08:00
fedd0b6d2d
* doc: explain chunkstring inconsistency * doc: explain chunkstring inconsistency
38 lines
948 B
Go
38 lines
948 B
Go
//go:build go1.23
|
|
|
|
package it
|
|
|
|
import (
|
|
"slices"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestChunkString(t *testing.T) {
|
|
t.Parallel()
|
|
is := assert.New(t)
|
|
|
|
result1 := ChunkString("12345", 2)
|
|
is.Equal([]string{"12", "34", "5"}, slices.Collect(result1))
|
|
|
|
result2 := ChunkString("123456", 2)
|
|
is.Equal([]string{"12", "34", "56"}, slices.Collect(result2))
|
|
|
|
result3 := ChunkString("123456", 6)
|
|
is.Equal([]string{"123456"}, slices.Collect(result3))
|
|
|
|
result4 := ChunkString("123456", 10)
|
|
is.Equal([]string{"123456"}, slices.Collect(result4))
|
|
|
|
result5 := ChunkString("", 2)
|
|
is.Equal([]string{""}, slices.Collect(result5)) // @TODO: should be [] - see https://github.com/samber/lo/issues/788
|
|
|
|
result6 := ChunkString("明1好休2林森", 2)
|
|
is.Equal([]string{"明1", "好休", "2林", "森"}, slices.Collect(result6))
|
|
|
|
is.PanicsWithValue("it.ChunkString: size must be greater than 0", func() {
|
|
ChunkString("12345", 0)
|
|
})
|
|
}
|