aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/peterh/liner/prefix_test.go
blob: c826d6c3bedd66a92f1e095894d5af20e2873859 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// +build windows linux darwin openbsd freebsd netbsd

package liner

import "testing"

type testItem struct {
    list   []string
    prefix string
}

func TestPrefix(t *testing.T) {
    list := []testItem{
        {[]string{"food", "foot"}, "foo"},
        {[]string{"foo", "foot"}, "foo"},
        {[]string{"food", "foo"}, "foo"},
        {[]string{"food", "foe", "foot"}, "fo"},
        {[]string{"food", "foot", "barbeque"}, ""},
        {[]string{"cafeteria", "café"}, "caf"},
        {[]string{"cafe", "café"}, "caf"},
        {[]string{"cafè", "café"}, "caf"},
        {[]string{"cafés", "café"}, "café"},
        {[]string{"áéíóú", "áéíóú"}, "áéíóú"},
        {[]string{"éclairs", "éclairs"}, "éclairs"},
        {[]string{"éclairs are the best", "éclairs are great", "éclairs"}, "éclairs"},
        {[]string{"éclair", "éclairs"}, "éclair"},
        {[]string{"éclairs", "éclair"}, "éclair"},
        {[]string{"éclair", "élan"}, "é"},
    }

    for _, test := range list {
        lcp := longestCommonPrefix(test.list)
        if lcp != test.prefix {
            t.Errorf("%s != %s for %+v", lcp, test.prefix, test.list)
        }
    }
}