mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Add and AddByte
R=rsc DELTA=83 (83 added, 0 deleted, 0 changed) OCL=34584 CL=34584
This commit is contained in:
parent
61dd8363ba
commit
d3013d8aa1
2 changed files with 83 additions and 0 deletions
|
|
@ -121,6 +121,7 @@ var splittests = []SplitTest {
|
|||
SplitTest{ "123", "", 2, []string{"1", "23"} },
|
||||
SplitTest{ "123", "", 17, []string{"1", "2", "3"} },
|
||||
}
|
||||
|
||||
func TestSplit(t *testing.T) {
|
||||
for _, tt := range splittests {
|
||||
a := Split(strings.Bytes(tt.s), strings.Bytes(tt.sep), tt.n);
|
||||
|
|
@ -261,3 +262,43 @@ func TestToLower(t *testing.T) {
|
|||
func TestTrimSpace(t *testing.T) {
|
||||
runStringTests(t, TrimSpace, "TrimSpace", trimSpaceTests);
|
||||
}
|
||||
|
||||
type AddTest struct {
|
||||
s, t string;
|
||||
cap int;
|
||||
}
|
||||
var addtests = []AddTest {
|
||||
AddTest{ "", "", 0 },
|
||||
AddTest{ "a", "", 1 },
|
||||
AddTest{ "a", "b", 1 },
|
||||
AddTest{ "abc", "def", 100 },
|
||||
}
|
||||
|
||||
func TestAdd(t *testing.T) {
|
||||
for i, test := range addtests {
|
||||
b := make([]byte, len(test.s), test.cap);
|
||||
for i := 0; i < len(test.s); i++ {
|
||||
b[i] = test.s[i]
|
||||
}
|
||||
b = Add(b, strings.Bytes(test.t));
|
||||
if string(b) != test.s+test.t {
|
||||
t.Errorf("Add(%q,%q) = %q", test.s, test.t, string(b));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddByte(t *testing.T) {
|
||||
const N = 2e5;
|
||||
b := make([]byte, 0);
|
||||
for i := 0; i < N; i++ {
|
||||
b = AddByte(b, byte(i))
|
||||
}
|
||||
if len(b) != N {
|
||||
t.Errorf("AddByte: too small; expected %d got %d", N, len(b));
|
||||
}
|
||||
for i, c := range b {
|
||||
if c != byte(i) {
|
||||
t.Fatalf("AddByte: b[%d] should be %d is %d", i, c, byte(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue