github.com/yongjacky/phoenix-go-orm-builder@v0.3.5/string_builder_test.go (about) 1 // Copyright 2018 The Xorm Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package builder 6 7 import ( 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestStringBuilderWriteByte(t *testing.T) { 14 var b StringBuilder 15 err := b.WriteByte('c') 16 assert.NoError(t, err) 17 assert.EqualValues(t, "c", b.String()) 18 19 b.Reset() 20 21 var content = "123456" 22 for _, c := range content { 23 _, err = b.WriteRune(c) 24 assert.NoError(t, err) 25 } 26 assert.EqualValues(t, 6, b.Len()) 27 assert.EqualValues(t, content, b.String()) 28 29 for i := 0; i < 100; i++ { 30 for _, c := range content { 31 _, err = b.WriteRune(c) 32 assert.NoError(t, err) 33 } 34 } 35 36 b.Grow(600) 37 38 for i := 0; i < 100; i++ { 39 for _, c := range content { 40 _, err = b.WriteRune(c) 41 assert.NoError(t, err) 42 } 43 } 44 }