-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuf_test.go
124 lines (94 loc) · 1.92 KB
/
buf_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package gg_test
import (
"testing"
"github.com/mitranim/gg"
"github.com/mitranim/gg/gtest"
)
// TODO dedup with `TestToString`.
func TestBuf_String(t *testing.T) {
defer gtest.Catch(t)
gtest.Zero(gg.Buf(nil).String())
test := func(src string) {
buf := gg.Buf(src)
tar := buf.String()
gtest.Eq(tar, src)
gtest.Eq(gg.TextDat(buf), gg.TextDat(tar))
}
test(``)
test(`a`)
test(`ab`)
test(`abc`)
t.Run(`mutation`, func(t *testing.T) {
defer gtest.Catch(t)
buf := gg.Buf(`abc`)
tar := buf.String()
gtest.Eq(tar, `abc`)
buf[0] = 'd'
gtest.Eq(tar, `dbc`)
})
}
func TestBuf_AppendAnys(t *testing.T) {
defer gtest.Catch(t)
var buf gg.Buf
gtest.Zero(buf)
buf.AppendAnys()
gtest.Zero(buf)
buf.AppendAnys(nil)
gtest.Zero(buf)
buf.AppendAnys(``, nil, ``)
gtest.Zero(buf)
buf.AppendAnys(10)
gtest.Str(buf, `10`)
buf.AppendAnys(` `, 20, ` `, 30)
gtest.Str(buf, `10 20 30`)
}
func TestBuf_AppendAnysln(t *testing.T) {
defer gtest.Catch(t)
{
var buf gg.Buf
gtest.Zero(buf)
}
{
var buf gg.Buf
buf.AppendAnysln()
gtest.Zero(buf)
}
{
var buf gg.Buf
buf.AppendAnysln(nil)
gtest.Zero(buf)
}
{
var buf gg.Buf
buf.AppendAnysln(nil, ``, nil)
gtest.Zero(buf)
buf.AppendAnysln()
gtest.Zero(buf)
}
{
var buf gg.Buf
buf.AppendAnysln(`one`, `two`+gg.Newline)
gtest.Str(buf, `onetwo`+gg.Newline)
}
{
var buf gg.Buf
buf.AppendAnysln(`one`+gg.Newline, `two`+gg.Newline)
gtest.Str(buf, `one`+gg.Newline+`two`+gg.Newline)
}
{
var buf gg.Buf
buf.AppendAnysln(`one`+gg.Newline, `two`)
gtest.Str(buf, `one`+gg.Newline+`two`+gg.Newline)
}
{
var buf gg.Buf
buf.AppendAnysln(`one`)
gtest.Str(buf, `one`+gg.Newline)
buf.AppendAnysln()
gtest.Str(buf, `one`+gg.Newline+gg.Newline)
buf.AppendAnysln(`two`)
gtest.Str(buf, `one`+gg.Newline+gg.Newline+`two`+gg.Newline)
buf.AppendAnysln()
gtest.Str(buf, `one`+gg.Newline+gg.Newline+`two`+gg.Newline+gg.Newline)
}
}