contracts/lib/forge-std/test/StdStyle.t.sol 5.7 K raw
1
// SPDX-License-Identifier: MIT
2
pragma solidity >=0.7.0 <0.9.0;
3
4
import {Test, console2, StdStyle} from "../src/Test.sol";
5
6
contract StdStyleTest is Test {
7
    function test_StyleColor() public pure {
8
        console2.log(StdStyle.red("StdStyle.red String Test"));
9
        console2.log(StdStyle.red(uint256(10e18)));
10
        console2.log(StdStyle.red(int256(-10e18)));
11
        console2.log(StdStyle.red(true));
12
        console2.log(StdStyle.red(address(0)));
13
        console2.log(StdStyle.redBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
14
        console2.log(StdStyle.redBytes32("StdStyle.redBytes32"));
15
        console2.log(StdStyle.green("StdStyle.green String Test"));
16
        console2.log(StdStyle.green(uint256(10e18)));
17
        console2.log(StdStyle.green(int256(-10e18)));
18
        console2.log(StdStyle.green(true));
19
        console2.log(StdStyle.green(address(0)));
20
        console2.log(StdStyle.greenBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
21
        console2.log(StdStyle.greenBytes32("StdStyle.greenBytes32"));
22
        console2.log(StdStyle.yellow("StdStyle.yellow String Test"));
23
        console2.log(StdStyle.yellow(uint256(10e18)));
24
        console2.log(StdStyle.yellow(int256(-10e18)));
25
        console2.log(StdStyle.yellow(true));
26
        console2.log(StdStyle.yellow(address(0)));
27
        console2.log(StdStyle.yellowBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
28
        console2.log(StdStyle.yellowBytes32("StdStyle.yellowBytes32"));
29
        console2.log(StdStyle.blue("StdStyle.blue String Test"));
30
        console2.log(StdStyle.blue(uint256(10e18)));
31
        console2.log(StdStyle.blue(int256(-10e18)));
32
        console2.log(StdStyle.blue(true));
33
        console2.log(StdStyle.blue(address(0)));
34
        console2.log(StdStyle.blueBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
35
        console2.log(StdStyle.blueBytes32("StdStyle.blueBytes32"));
36
        console2.log(StdStyle.magenta("StdStyle.magenta String Test"));
37
        console2.log(StdStyle.magenta(uint256(10e18)));
38
        console2.log(StdStyle.magenta(int256(-10e18)));
39
        console2.log(StdStyle.magenta(true));
40
        console2.log(StdStyle.magenta(address(0)));
41
        console2.log(StdStyle.magentaBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
42
        console2.log(StdStyle.magentaBytes32("StdStyle.magentaBytes32"));
43
        console2.log(StdStyle.cyan("StdStyle.cyan String Test"));
44
        console2.log(StdStyle.cyan(uint256(10e18)));
45
        console2.log(StdStyle.cyan(int256(-10e18)));
46
        console2.log(StdStyle.cyan(true));
47
        console2.log(StdStyle.cyan(address(0)));
48
        console2.log(StdStyle.cyanBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
49
        console2.log(StdStyle.cyanBytes32("StdStyle.cyanBytes32"));
50
    }
51
52
    function test_StyleFontWeight() public pure {
53
        console2.log(StdStyle.bold("StdStyle.bold String Test"));
54
        console2.log(StdStyle.bold(uint256(10e18)));
55
        console2.log(StdStyle.bold(int256(-10e18)));
56
        console2.log(StdStyle.bold(address(0)));
57
        console2.log(StdStyle.bold(true));
58
        console2.log(StdStyle.boldBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
59
        console2.log(StdStyle.boldBytes32("StdStyle.boldBytes32"));
60
        console2.log(StdStyle.dim("StdStyle.dim String Test"));
61
        console2.log(StdStyle.dim(uint256(10e18)));
62
        console2.log(StdStyle.dim(int256(-10e18)));
63
        console2.log(StdStyle.dim(address(0)));
64
        console2.log(StdStyle.dim(true));
65
        console2.log(StdStyle.dimBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
66
        console2.log(StdStyle.dimBytes32("StdStyle.dimBytes32"));
67
        console2.log(StdStyle.italic("StdStyle.italic String Test"));
68
        console2.log(StdStyle.italic(uint256(10e18)));
69
        console2.log(StdStyle.italic(int256(-10e18)));
70
        console2.log(StdStyle.italic(address(0)));
71
        console2.log(StdStyle.italic(true));
72
        console2.log(StdStyle.italicBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
73
        console2.log(StdStyle.italicBytes32("StdStyle.italicBytes32"));
74
        console2.log(StdStyle.underline("StdStyle.underline String Test"));
75
        console2.log(StdStyle.underline(uint256(10e18)));
76
        console2.log(StdStyle.underline(int256(-10e18)));
77
        console2.log(StdStyle.underline(address(0)));
78
        console2.log(StdStyle.underline(true));
79
        console2.log(StdStyle.underlineBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
80
        console2.log(StdStyle.underlineBytes32("StdStyle.underlineBytes32"));
81
        console2.log(StdStyle.inverse("StdStyle.inverse String Test"));
82
        console2.log(StdStyle.inverse(uint256(10e18)));
83
        console2.log(StdStyle.inverse(int256(-10e18)));
84
        console2.log(StdStyle.inverse(address(0)));
85
        console2.log(StdStyle.inverse(true));
86
        console2.log(StdStyle.inverseBytes(hex"7109709ECfa91a80626fF3989D68f67F5b1DD12D"));
87
        console2.log(StdStyle.inverseBytes32("StdStyle.inverseBytes32"));
88
    }
89
90
    function test_StyleCombined() public pure {
91
        console2.log(StdStyle.red(StdStyle.bold("Red Bold String Test")));
92
        console2.log(StdStyle.green(StdStyle.dim(uint256(10e18))));
93
        console2.log(StdStyle.yellow(StdStyle.italic(int256(-10e18))));
94
        console2.log(StdStyle.blue(StdStyle.underline(address(0))));
95
        console2.log(StdStyle.magenta(StdStyle.inverse(true)));
96
    }
97
98
    function test_StyleCustom() public pure {
99
        console2.log(h1("Custom Style 1"));
100
        console2.log(h2("Custom Style 2"));
101
    }
102
103
    function h1(string memory a) private pure returns (string memory) {
104
        return StdStyle.cyan(StdStyle.inverse(StdStyle.bold(a)));
105
    }
106
107
    function h2(string memory a) private pure returns (string memory) {
108
        return StdStyle.magenta(StdStyle.bold(StdStyle.underline(a)));
109
    }
110
}