]> 127.0.0.1 Git - part/.git/commitdiff
Fix v0.23.5
authorqydysky <32743305+qydysky@users.noreply.github.com>
Thu, 2 Mar 2023 15:57:38 +0000 (23:57 +0800)
committerqydysky <32743305+qydysky@users.noreply.github.com>
Thu, 2 Mar 2023 15:57:38 +0000 (23:57 +0800)
slice/Slice.go
slice/Slice_test.go

index 900935da500e8bc15bfa40f749068cacfbe94257..0120c3eeefa4d00d230c5c7377c7ba482fd68c3b 100644 (file)
@@ -71,7 +71,7 @@ func (t *Buf[T]) Append(data []T) error {
                        t.buf = make([]T, len(data), t.maxsize)
                }
        } else {
-               diff := cap(t.buf) - t.bufsize - len(data)
+               diff := len(t.buf) - t.bufsize - len(data)
                if diff < 0 {
                        t.buf = append(t.buf, make([]T, -diff)...)
                } else {
index 435793df580d7fbb19981525b00b6be562f9f24a..a093095d23f703089c00917b34c46626c499016c 100644 (file)
@@ -54,3 +54,28 @@ func TestXxx(t *testing.T) {
                t.Fatal()
        }
 }
+
+func TestXxx2(t *testing.T) {
+       var c = New[byte]()
+       c.Append([]byte("12345"))
+       c.Append([]byte("67890"))
+       first := c.GetCopyBuf()
+       c.Reset()
+       c.Append([]byte("abc"))
+       c.Append([]byte("defg"))
+       second := c.GetCopyBuf()
+       c.Reset()
+       c.Append([]byte("akjsdhfaksdjhf"))
+       c.Append([]byte("9834719203857"))
+       third := c.GetCopyBuf()
+       c.Reset()
+       if !bytes.Equal(first, []byte("1234567890")) {
+               t.Fatal()
+       }
+       if !bytes.Equal(second, []byte("abcdefg")) {
+               t.Fatal()
+       }
+       if !bytes.Equal(third, []byte("akjsdhfaksdjhf9834719203857")) {
+               t.Fatal()
+       }
+}