1 package swag
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/require"
7 )
8
9 func TestSplitter(t *testing.T) {
10 s := newSplitter(withPostSplitInitialismCheck)
11
12 t.Run("should return an empty slice of lexems", func(t *testing.T) {
13 lexems := s.split("")
14 poolOfLexems.RedeemLexems(lexems)
15
16 require.NotNil(t, lexems)
17 require.Empty(t, lexems)
18 })
19 }
20
21 func TestIsEqualFoldIgnoreSpace(t *testing.T) {
22 t.Run("should find equal", func(t *testing.T) {
23 require.True(t, isEqualFoldIgnoreSpace([]rune(""), ""))
24 require.True(t, isEqualFoldIgnoreSpace([]rune(""), " "))
25
26 require.True(t, isEqualFoldIgnoreSpace([]rune("A"), " a"))
27 require.True(t, isEqualFoldIgnoreSpace([]rune("A"), "a "))
28 require.True(t, isEqualFoldIgnoreSpace([]rune("A"), " a "))
29
30 require.True(t, isEqualFoldIgnoreSpace([]rune("A"), "\ta\t"))
31 require.True(t, isEqualFoldIgnoreSpace([]rune("A"), "a"))
32 require.True(t, isEqualFoldIgnoreSpace([]rune("A"), "\u00A0a\u00A0"))
33
34 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), " ab"))
35 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), "ab "))
36 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), " ab "))
37 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), " ab "))
38
39 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB"))
40 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), "AB "))
41 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB "))
42 require.True(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB "))
43
44 require.True(t, isEqualFoldIgnoreSpace([]rune("À"), " à"))
45 require.True(t, isEqualFoldIgnoreSpace([]rune("À"), "à "))
46 require.True(t, isEqualFoldIgnoreSpace([]rune("À"), " à "))
47 require.True(t, isEqualFoldIgnoreSpace([]rune("À"), " à "))
48 })
49
50 t.Run("should find different", func(t *testing.T) {
51 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), ""))
52 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), ""))
53 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), " b "))
54 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), " b "))
55
56 require.False(t, isEqualFoldIgnoreSpace([]rune("AB"), " A B "))
57 require.False(t, isEqualFoldIgnoreSpace([]rune("AB"), " a b "))
58 require.False(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB \u00A0\u00A0x"))
59 require.False(t, isEqualFoldIgnoreSpace([]rune("AB"), " AB \u00A0\u00A0é"))
60
61 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), ""))
62 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), ""))
63 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), " b "))
64 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), " b "))
65
66 require.False(t, isEqualFoldIgnoreSpace([]rune("A"), " à"))
67 require.False(t, isEqualFoldIgnoreSpace([]rune("À"), " bà"))
68 require.False(t, isEqualFoldIgnoreSpace([]rune("À"), "àb "))
69 require.False(t, isEqualFoldIgnoreSpace([]rune("À"), " a "))
70 require.False(t, isEqualFoldIgnoreSpace([]rune("À"), "Á"))
71 })
72 }
73
View as plain text