-
-
Notifications
You must be signed in to change notification settings - Fork 187
/
bigtext_printer_test.go
106 lines (87 loc) · 2.39 KB
/
bigtext_printer_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
package pterm_test
import (
"fmt"
"strings"
"testing"
"github.com/MarvinJWendt/testza"
"github.com/pterm/pterm"
)
func TestBigTextPrinterNilPrint(t *testing.T) {
p := pterm.BigTextPrinter{}
p.Render()
}
func TestBigTextPrinter_WithMethods(t *testing.T) {
testWithMethods(t, pterm.BigTextPrinter{})
}
func TestBigTextPrinter_Render(t *testing.T) {
printer := pterm.DefaultBigText.WithLetters(pterm.NewLettersFromString("Hello"))
content, err := printer.Srender()
testza.AssertNoError(t, err)
testza.AssertNotZero(t, content)
}
func TestBigTextPrinter_RenderRGB(t *testing.T) {
printer := pterm.DefaultBigText.WithLetters(pterm.NewLettersFromStringWithRGB("Hello", pterm.NewRGB(255, 0, 0)))
content, err := printer.Srender()
testza.AssertNoError(t, err)
testza.AssertNotZero(t, content)
}
func TestBigTextPrinter_RenderRawOutput(t *testing.T) {
printer := pterm.DefaultBigText.WithLetters(pterm.NewLettersFromString("Hello"))
pterm.DisableStyling()
content, err := printer.Srender()
pterm.EnableStyling()
testza.AssertNoError(t, err)
testza.AssertNotZero(t, content)
}
func TestNewLettersFromText(t *testing.T) {
e := pterm.Letters{
pterm.Letter{
String: "a",
Style: &pterm.ThemeDefault.LetterStyle,
},
pterm.Letter{
String: "b",
Style: &pterm.ThemeDefault.LetterStyle,
},
}
p := pterm.NewLettersFromString("ab")
testza.AssertEqual(t, e, p)
}
func TestNewLettersFromTextWithStyle(t *testing.T) {
e := pterm.Letters{
pterm.Letter{
String: "a",
Style: pterm.NewStyle(pterm.FgRed, pterm.BgBlue, pterm.Bold),
},
pterm.Letter{
String: "b",
Style: pterm.NewStyle(pterm.FgRed, pterm.BgBlue, pterm.Bold),
},
}
p := pterm.NewLettersFromStringWithStyle("ab", pterm.NewStyle(pterm.FgRed, pterm.BgBlue, pterm.Bold))
testza.AssertEqual(t, e, p)
}
func TestNewLettersFromTextWithRGB(t *testing.T) {
e := pterm.Letters{
pterm.Letter{
String: "a",
Style: pterm.NewStyle(),
RGB: pterm.NewRGB(0, 0, 0),
},
pterm.Letter{
String: "b",
Style: pterm.NewStyle(),
RGB: pterm.NewRGB(0, 0, 0),
},
}
p := pterm.NewLettersFromStringWithRGB("ab", pterm.NewRGB(0, 0, 0))
testza.AssertEqual(t, e, p)
}
func TestDefaultLettersMaxHeight(t *testing.T) {
maxHeight := 5
chars := pterm.DefaultBigText.BigCharacters
for s, l := range chars {
h := strings.Count(l, "\n")
testza.AssertTrue(t, h <= maxHeight, fmt.Sprintf("'%s' is too high", s))
}
}