]> Cypherpunks.ru repositories - netstring.git/blobdiff - netstring_test.go
Refactoring, io.Reader/Writer friendliness, performance optimization
[netstring.git] / netstring_test.go
diff --git a/netstring_test.go b/netstring_test.go
deleted file mode 100644 (file)
index 702e79d..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-netstring -- netstring format serialization library
-Copyright (C) 2015-2020 Sergey Matveev <stargrave@stargrave.org>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 3 of the License.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-package netstring
-
-import (
-       "bytes"
-       "testing"
-       "testing/quick"
-)
-
-func TestTrivial(t *testing.T) {
-       buf := bytes.NewBuffer(nil)
-       w := NewWriter(buf)
-       if n, err := w.Write([]byte{}); err != nil || n != 3 || string(buf.Next(3)) != "0:," {
-               t.Fail()
-       }
-       if n, err := w.Write([]byte("foo")); err != nil || n != 6 {
-               t.Fail()
-       }
-       if n, err := w.Write([]byte("barz")); err != nil || n != 7 {
-               t.Fail()
-       }
-       if string(buf.Bytes()) != "3:foo,4:barz," {
-               t.Fail()
-       }
-       r := NewReader(buf)
-       if n, err := r.Iter(); err != nil || n != 3 {
-               t.Fail()
-       }
-       if r.Discard() != nil {
-               t.Fail()
-       }
-       if n, err := r.Iter(); err != nil || n != 4 {
-               t.Fail()
-       }
-       m := make([]byte, int(4))
-       if r.Read(m) != nil {
-               t.Fail()
-       }
-       if bytes.Compare(m, []byte("barz")) != 0 {
-               t.Fail()
-       }
-}
-
-func TestSymmetric(t *testing.T) {
-       buf := bytes.NewBuffer(nil)
-       w := NewWriter(buf)
-       r := NewReader(buf)
-       f := func(i uint8, data []byte) bool {
-               var n uint8
-               for n = 0; n < i; n++ {
-                       if _, err := w.Write(data); err != nil {
-                               return false
-                       }
-               }
-               for n = 0; n < i; n++ {
-                       size, err := r.Iter()
-                       if err != nil || int(size) != len(data) {
-                               return false
-                       }
-                       read := make([]byte, size)
-                       if r.Read(read) != nil {
-                               return false
-                       }
-                       if bytes.Compare(read, data) != 0 {
-                               return false
-                       }
-               }
-               return true
-       }
-       if err := quick.Check(f, nil); err != nil {
-               t.Error(err)
-       }
-}
-
-func TestErrors(t *testing.T) {
-       b := bytes.NewBufferString("junk")
-       r := NewReader(b)
-       if _, err := r.Iter(); err == nil {
-               t.FailNow()
-       }
-
-       b = bytes.NewBufferString("1111111111111111111111:")
-       r = NewReader(b)
-       if _, err := r.Iter(); err == nil {
-               t.FailNow()
-       }
-
-       b = bytes.NewBufferString("6foobar")
-       r = NewReader(b)
-       if _, err := r.Iter(); err == nil {
-               t.FailNow()
-       }
-
-       data := make([]byte, 1<<10)
-
-       b = bytes.NewBufferString("0:foobar,")
-       r = NewReader(b)
-       if _, err := r.Iter(); err != nil {
-               t.FailNow()
-       }
-       if r.Read(data) == nil {
-               t.FailNow()
-       }
-
-       b = bytes.NewBufferString("0:foobar")
-       r = NewReader(b)
-       if _, err := r.Iter(); err != nil {
-               t.FailNow()
-       }
-       if r.Read(data) == nil {
-               t.FailNow()
-       }
-
-       b = bytes.NewBufferString("6:foobar")
-       r = NewReader(b)
-       if _, err := r.Iter(); err != nil {
-               t.FailNow()
-       }
-       if r.Read(data) == nil {
-               t.FailNow()
-       }
-
-}