1
1
package log
2
2
3
3
import (
4
- "fmt"
5
- "math"
6
- "math/big"
7
4
"math/rand"
8
- "strings"
9
5
"testing"
10
-
11
- "github.com/holiman/uint256"
12
6
)
13
7
14
- func TestPrettyInt64 (t * testing.T ) {
15
- tests := []struct {
16
- n int64
17
- s string
18
- }{
19
- {0 , "0" },
20
- {10 , "10" },
21
- {- 10 , "-10" },
22
- {100 , "100" },
23
- {- 100 , "-100" },
24
- {1000 , "1000" },
25
- {- 1000 , "-1000" },
26
- {10000 , "10000" },
27
- {- 10000 , "-10000" },
28
- {99999 , "99999" },
29
- {- 99999 , "-99999" },
30
- {100000 , "100,000" },
31
- {- 100000 , "-100,000" },
32
- {1000000 , "1,000,000" },
33
- {- 1000000 , "-1,000,000" },
34
- {math .MaxInt64 , "9,223,372,036,854,775,807" },
35
- {math .MinInt64 , "-9,223,372,036,854,775,808" },
36
- }
37
- for i , tt := range tests {
38
- if have := FormatLogfmtInt64 (tt .n ); have != tt .s {
39
- t .Errorf ("test %d: format mismatch: have %s, want %s" , i , have , tt .s )
40
- }
41
- }
42
- }
43
-
44
- func TestPrettyUint64 (t * testing.T ) {
45
- tests := []struct {
46
- n uint64
47
- s string
48
- }{
49
- {0 , "0" },
50
- {10 , "10" },
51
- {100 , "100" },
52
- {1000 , "1000" },
53
- {10000 , "10000" },
54
- {99999 , "99999" },
55
- {100000 , "100,000" },
56
- {1000000 , "1,000,000" },
57
- {math .MaxUint64 , "18,446,744,073,709,551,615" },
58
- }
59
- for i , tt := range tests {
60
- if have := FormatLogfmtUint64 (tt .n ); have != tt .s {
61
- t .Errorf ("test %d: format mismatch: have %s, want %s" , i , have , tt .s )
62
- }
63
- }
64
- }
65
-
66
- func TestPrettyBigInt (t * testing.T ) {
67
- tests := []struct {
68
- int string
69
- s string
70
- }{
71
- {"111222333444555678999" , "111,222,333,444,555,678,999" },
72
- {"-111222333444555678999" , "-111,222,333,444,555,678,999" },
73
- {"11122233344455567899900" , "11,122,233,344,455,567,899,900" },
74
- {"-11122233344455567899900" , "-11,122,233,344,455,567,899,900" },
75
- }
76
-
77
- for _ , tt := range tests {
78
- v , _ := new (big.Int ).SetString (tt .int , 10 )
79
- if have := formatLogfmtBigInt (v ); have != tt .s {
80
- t .Errorf ("invalid output %s, want %s" , have , tt .s )
81
- }
82
- }
83
- }
84
-
85
- func TestPrettyUint256 (t * testing.T ) {
86
- tests := []struct {
87
- int string
88
- s string
89
- }{
90
- {"111222333444555678999" , "111,222,333,444,555,678,999" },
91
- {"11122233344455567899900" , "11,122,233,344,455,567,899,900" },
92
- }
93
-
94
- for _ , tt := range tests {
95
- v := new (uint256.Int )
96
- v .SetFromDecimal (tt .int )
97
- if have := formatLogfmtUint256 (v ); have != tt .s {
98
- t .Errorf ("invalid output %s, want %s" , have , tt .s )
99
- }
100
- }
101
- }
102
-
103
8
var sink string
104
9
105
10
func BenchmarkPrettyInt64Logfmt (b * testing.B ) {
@@ -115,47 +20,3 @@ func BenchmarkPrettyUint64Logfmt(b *testing.B) {
115
20
sink = FormatLogfmtUint64 (rand .Uint64 ())
116
21
}
117
22
}
118
-
119
- func TestSanitation (t * testing.T ) {
120
- msg := "\u001b [1G\u001b [K\u001b [1A"
121
- msg2 := "\u001b \u0000 "
122
- msg3 := "NiceMessage"
123
- msg4 := "Space Message"
124
- msg5 := "Enter\n Message"
125
-
126
- for i , tt := range []struct {
127
- msg string
128
- want string
129
- }{
130
- {
131
- msg : msg ,
132
- want : fmt .Sprintf ("] %q %q=%q\n " , msg , msg , msg ),
133
- },
134
- {
135
- msg : msg2 ,
136
- want : fmt .Sprintf ("] %q %q=%q\n " , msg2 , msg2 , msg2 ),
137
- },
138
- {
139
- msg : msg3 ,
140
- want : fmt .Sprintf ("] %s %s=%s\n " , msg3 , msg3 , msg3 ),
141
- },
142
- {
143
- msg : msg4 ,
144
- want : fmt .Sprintf ("] %s %q=%q\n " , msg4 , msg4 , msg4 ),
145
- },
146
- {
147
- msg : msg5 ,
148
- want : fmt .Sprintf ("] %s %q=%q\n " , msg5 , msg5 , msg5 ),
149
- },
150
- } {
151
- var (
152
- logger = New ()
153
- out = new (strings.Builder )
154
- )
155
- logger .SetHandler (LvlFilterHandler (LvlInfo , StreamHandler (out , TerminalFormat (false ))))
156
- logger .Info (tt .msg , tt .msg , tt .msg )
157
- if have := out .String ()[24 :]; tt .want != have {
158
- t .Fatalf ("test %d: want / have: \n %v\n %v" , i , tt .want , have )
159
- }
160
- }
161
- }
0 commit comments