Skip to content

Commit 65db861

Browse files
committed
add UnsafeBytes tests
1 parent 25a8f93 commit 65db861

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

iavl/internal/unsafe_bytes_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package internal
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
)
8+
9+
func TestUnsafeBytes(t *testing.T) {
10+
hello := []byte("hello")
11+
unsafe := WrapUnsafeBytes(hello)
12+
require.False(t, unsafe.IsNil())
13+
require.Equal(t, hello, unsafe.UnsafeBytes())
14+
safeCopy := unsafe.SafeCopy()
15+
require.Equal(t, hello, safeCopy)
16+
require.NotSame(t, &hello[0], &safeCopy[0]) // different underlying array
17+
18+
safe := WrapSafeBytes(hello)
19+
require.False(t, safe.IsNil())
20+
require.Equal(t, hello, safe.UnsafeBytes())
21+
safeCopy2 := safe.SafeCopy()
22+
require.Equal(t, hello, safeCopy2)
23+
require.Same(t, &hello[0], &safeCopy2[0]) // same underlying array
24+
25+
nilUnsafe := WrapUnsafeBytes(nil)
26+
require.True(t, nilUnsafe.IsNil())
27+
require.Nil(t, nilUnsafe.UnsafeBytes())
28+
require.Nil(t, nilUnsafe.SafeCopy())
29+
}

0 commit comments

Comments
 (0)