/
AlertTest.php
135 lines (120 loc) · 13.6 KB
/
AlertTest.php
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
125
126
127
128
129
130
131
132
133
134
135
<?php
declare(strict_types=1);
use Thermage\Thermage;
use Thermage\Themes\Theme;
use Thermage\Themes\ThemeInterface;
use Thermage\Elements\Alert;
use Thermage\Base\Element;
use Glowy\Arrays\Arrays as Collection;
use function Glowy\Arrays\arrays as collection;
use function Thermage\alert;
use function Thermage\setTheme;
use function Thermage\getTheme;
use function Thermage\terminal;
use function Glowy\Strings\strings;
beforeEach(function() {
setTheme(new AlertTestTheme());
});
test('test alert w auto', function (): void {
$value = alert('Stay RAD!')->wAuto()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert info', function (): void {
$value = alert('Stay RAD!')->info()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert warning', function (): void {
$value = alert('Stay RAD!')->warning()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "43m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "43m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "43m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "43m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "43m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "43m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert danger', function (): void {
$value = alert('Stay RAD!')->danger()->renderToString();
$alert = terminal()->getCsi() . "37m" . terminal()->getCsi() . "41m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "41m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "41m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "41m" . terminal()->getCsi() . "37mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "41m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "41m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert success', function (): void {
$value = alert('Stay RAD!')->success()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "42m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "42m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "42m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "42m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "42m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "42m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert primary', function (): void {
$value = alert('Stay RAD!')->primary()->renderToString();
$alert = terminal()->getCsi() . "37m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "37mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "37m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert secondary', function (): void {
$value = alert('Stay RAD!')->secondary()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "100m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "100m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "100m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "100m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "100m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "100m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert with text align right', function (): void {
$value = alert('Stay RAD!')->textAlignRight()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert with text align left', function (): void {
$value = alert('Stay RAD!')->textAlignLeft()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert w', function (): void {
$value = alert('Stay RAD!')->w(200)->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
test('test alert w magic', function (): void {
$value = alert('Stay RAD!')->w200()->renderToString();
$alert = terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30mStay RAD!" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "0m" . terminal()->getCsi() . "44m" . terminal()->getCsi() . "30m" . terminal()->getCsi() . "39m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "49m" . terminal()->getCsi() . "39m";
expect(str_replace([PHP_EOL, Element::getSpace()], "", strings($value)->trim()->toString()))->toEqual($alert);
});
class AlertTestTheme extends Theme implements ThemeInterface
{
public function getThemeVariables(): Collection
{
return collection([
'colors' => [
'blue' => 'blue',
'yellow' => 'yellow',
'black' => 'black',
'white' => 'white',
'red' => 'red',
'green' => 'green',
'gray' => 'gray',
],
'alert' => [
'text-align' => 'left',
'size-auto' => false,
'size' => 50,
'type' => [
'info' => [
'bg' => 'blue',
'color' => 'black',
],
'warning' => [
'bg' => 'yellow',
'color' => 'black',
],
'danger' => [
'bg' => 'red',
'color' => 'white',
],
'success' => [
'bg' => 'green',
'color' => 'black',
],
'primary' => [
'bg' => 'blue',
'color' => 'white',
],
'secondary' => [
'bg' => 'gray',
'color' => 'black',
],
],
],
]);
}
}