...
1
2
3
4
5
6
7
8
9
10
11
12
13 package cdb
14
15 import (
16 "testing"
17
18 "gitlab.com/flimzy/testy"
19 )
20
21 func TestEscape(t *testing.T) {
22 type tt struct {
23 in string
24 want string
25 }
26 tests := testy.NewTable()
27 tests.Add("simple", tt{"simple", "simple"})
28 tests.Add("non-ascii", tt{"fóò", "fóò"})
29 tests.Add("ddoc", tt{"_design/foo", "_design%2Ffoo"})
30 tests.Add("percent", tt{"100%", "100%"})
31 tests.Add("escaped slash", tt{"foo%2fbar", "foo%252fbar"})
32 tests.Add("empty", tt{"", ""})
33
34 tests.Run(t, func(t *testing.T, tt tt) {
35 got := EscapeID(tt.in)
36 if got != tt.want {
37 t.Errorf("Unexpected escape output: %s", got)
38 }
39 final := UnescapeID(got)
40 if final != tt.in {
41 t.Errorf("Unexpected unescape output: %s", final)
42 }
43 })
44 }
45
View as plain text