diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-05-12 23:56:07 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-12 23:56:07 -0400 |
commit | 38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8 (patch) | |
tree | a4fde09672192b97d453ad605b030bd5a10c5a45 /vendor/github.com/mattermost/rsc/imap/sx_test.go | |
parent | 84d2482ddbff9564c9ad75b2d30af66e3ddfd44d (diff) | |
download | chat-38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8.tar.gz chat-38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8.tar.bz2 chat-38ee83e45b4de7edf89bf9f0ef629eb4c6ad0fa8.zip |
Moving to glide
Diffstat (limited to 'vendor/github.com/mattermost/rsc/imap/sx_test.go')
-rw-r--r-- | vendor/github.com/mattermost/rsc/imap/sx_test.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/mattermost/rsc/imap/sx_test.go b/vendor/github.com/mattermost/rsc/imap/sx_test.go new file mode 100644 index 000000000..9644209ca --- /dev/null +++ b/vendor/github.com/mattermost/rsc/imap/sx_test.go @@ -0,0 +1,60 @@ +package imap + +import ( + "bufio" + "reflect" + "strings" + "testing" +) + +var sxTests = []struct { + in string + out *sx +}{ + {"1234", &sx{kind: sxNumber, number: 1234}}, + {"hello", &sx{kind: sxAtom, data: []byte("hello")}}, + {"hello[world]", &sx{kind: sxAtom, data: []byte("hello[world]")}}, + {`"h\\ello"`, &sx{kind: sxString, data: []byte(`h\ello`)}}, + {"{6}\r\nh\\ello", &sx{kind: sxString, data: []byte(`h\ello`)}}, + {`(hello "world" (again) ())`, + &sx{ + kind: sxList, + sx: []*sx{ + &sx{ + kind: sxAtom, + data: []byte("hello"), + }, + &sx{ + kind: sxString, + data: []byte("world"), + }, + &sx{ + kind: sxList, + sx: []*sx{ + &sx{ + kind: sxAtom, + data: []byte("again"), + }, + }, + }, + &sx{ + kind: sxList, + }, + }, + }, + }, +} + +func TestSx(t *testing.T) { + for _, tt := range sxTests { + b := bufio.NewReader(strings.NewReader(tt.in + "\n")) + sx, err := rdsx1(b) + if err != nil { + t.Errorf("parse %s: %v", tt.in, err) + continue + } + if !reflect.DeepEqual(sx, tt.out) { + t.Errorf("rdsx1(%s) = %v, want %v", tt.in, sx, tt.out) + } + } +} |