From 54d3d47daf9190275bbdaf8703b84969a4593451 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Fri, 24 Mar 2017 23:31:34 -0700 Subject: PLT-6076 Adding viper libs for config file changes (#5871) * Adding viper libs for config file changes * Removing the old fsnotify lib * updating some missing libs --- .../pelletier/go-buffruneio/buffruneio_test.go | 145 +++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 vendor/github.com/pelletier/go-buffruneio/buffruneio_test.go (limited to 'vendor/github.com/pelletier/go-buffruneio/buffruneio_test.go') diff --git a/vendor/github.com/pelletier/go-buffruneio/buffruneio_test.go b/vendor/github.com/pelletier/go-buffruneio/buffruneio_test.go new file mode 100644 index 000000000..67b0cba9b --- /dev/null +++ b/vendor/github.com/pelletier/go-buffruneio/buffruneio_test.go @@ -0,0 +1,145 @@ +package buffruneio + +import ( + "runtime/debug" + "strings" + "testing" +) + +func assertNoError(t *testing.T, err error) { + if err != nil { + t.Log("unexpected error", err) + debug.PrintStack() + t.FailNow() + } +} + +func assumeRunesArray(t *testing.T, expected []rune, got []rune) { + if len(expected) != len(got) { + t.Fatal("expected", len(expected), "runes, but got", len(got)) + } + for i := 0; i < len(got); i++ { + if expected[i] != got[i] { + t.Fatal("expected rune", expected[i], "at index", i, "but got", got[i]) + } + } +} + +func assumeRune(t *testing.T, rd *Reader, r rune) { + gotRune, size, err := rd.ReadRune() + assertNoError(t, err) + if gotRune != r { + t.Fatal("got", string(gotRune), + "(", []byte(string(gotRune)), ")", + "expected", string(r), + "(", []byte(string(r)), ")") + t.Fatal("got size", size, + "expected", len([]byte(string(r)))) + } +} + +func TestReadString(t *testing.T) { + s := "hello" + rd := NewReader(strings.NewReader(s)) + + assumeRune(t, rd, 'h') + assumeRune(t, rd, 'e') + assumeRune(t, rd, 'l') + assumeRune(t, rd, 'l') + assumeRune(t, rd, 'o') + assumeRune(t, rd, EOF) +} + +func TestMultipleEOF(t *testing.T) { + s := "" + rd := NewReader(strings.NewReader(s)) + + assumeRune(t, rd, EOF) + assumeRune(t, rd, EOF) +} + +func TestUnread(t *testing.T) { + s := "ab" + rd := NewReader(strings.NewReader(s)) + + assumeRune(t, rd, 'a') + assumeRune(t, rd, 'b') + assertNoError(t, rd.UnreadRune()) + assumeRune(t, rd, 'b') + assumeRune(t, rd, EOF) +} + +func TestUnreadEOF(t *testing.T) { + s := "" + rd := NewReader(strings.NewReader(s)) + + _ = rd.UnreadRune() + assumeRune(t, rd, EOF) + assumeRune(t, rd, EOF) + assertNoError(t, rd.UnreadRune()) + assumeRune(t, rd, EOF) +} + +func TestForget(t *testing.T) { + s := "hello" + rd := NewReader(strings.NewReader(s)) + + assumeRune(t, rd, 'h') + assumeRune(t, rd, 'e') + assumeRune(t, rd, 'l') + assumeRune(t, rd, 'l') + rd.Forget() + if rd.UnreadRune() != ErrNoRuneToUnread { + t.Fatal("no rune should be available") + } +} + +func TestForgetEmpty(t *testing.T) { + s := "" + rd := NewReader(strings.NewReader(s)) + + rd.Forget() + assumeRune(t, rd, EOF) + rd.Forget() +} + +func TestPeekEmpty(t *testing.T) { + s := "" + rd := NewReader(strings.NewReader(s)) + + runes := rd.PeekRunes(1) + if len(runes) != 1 { + t.Fatal("incorrect number of runes", len(runes)) + } + if runes[0] != EOF { + t.Fatal("incorrect rune", runes[0]) + } +} + +func TestPeek(t *testing.T) { + s := "a" + rd := NewReader(strings.NewReader(s)) + + runes := rd.PeekRunes(1) + assumeRunesArray(t, []rune{'a'}, runes) + + runes = rd.PeekRunes(1) + assumeRunesArray(t, []rune{'a'}, runes) + + assumeRune(t, rd, 'a') + runes = rd.PeekRunes(1) + assumeRunesArray(t, []rune{EOF}, runes) + + assumeRune(t, rd, EOF) +} + +func TestPeekLarge(t *testing.T) { + s := "abcdefg" + rd := NewReader(strings.NewReader(s)) + + runes := rd.PeekRunes(100) + if len(runes) != len(s)+1 { + t.Fatal("incorrect number of runes", len(runes)) + } + assumeRunesArray(t, []rune{'a', 'b', 'c', 'd', 'e', 'f', 'g', EOF}, runes) +} -- cgit v1.2.3-1-g7c22