From 408654514ea813933f45d383d949611d138084e1 Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Sun, 3 Mar 2019 15:23:20 +0100 Subject: cache: make the title filter case insensitive --- cache/filter_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 cache/filter_test.go (limited to 'cache/filter_test.go') diff --git a/cache/filter_test.go b/cache/filter_test.go new file mode 100644 index 00000000..a47d2ad7 --- /dev/null +++ b/cache/filter_test.go @@ -0,0 +1,34 @@ +package cache + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestTitleFilter(t *testing.T) { + tests := []struct { + name string + title string + query string + match bool + }{ + {name: "complete match", title: "hello world", query: "hello world", match: true}, + {name: "partial match", title: "hello world", query: "hello", match: true}, + {name: "no match", title: "hello world", query: "foo", match: false}, + {name: "cased title", title: "Hello World", query: "hello", match: true}, + {name: "cased query", title: "hello world", query: "Hello", match: true}, + + // Those following tests should work eventually but are left for a future iteration. + + // {name: "cased accents", title: "ÑOÑO", query: "ñoño", match: true}, + // {name: "natural language matching", title: "Århus", query: "Aarhus", match: true}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + filter := TitleFilter(tt.query) + excerpt := &BugExcerpt{Title: tt.title} + assert.Equal(t, tt.match, filter(nil, excerpt)) + }) + } +} -- cgit