-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.js
118 lines (105 loc) · 2.41 KB
/
logger.js
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
const _colors = require("colors");
class Print {
test_num = 0;
total = 0;
errorsList = [];
verbose = true;
verboseError = true;
sepString = "--------------------------------------------------------------------------------".gray
stringify = (s) => {
// console.log(s);
try {
return JSON.stringify(s, null, 2);
} catch (_) {
return s.toString();
}
};
sep = () =>
this.log(this.sepString);
title = (title) => {
this.log("");
this.sep();
this.log(title.cyan.bold);
this.sep();
this.log("");
};
group = (gr) => {
this.log("");
// this.sep();
this.log(gr.toUpperCase().yellow.bold);
this.sep();
this.log("");
};
undefined = (prot, s, error) => {
this.log(
"CATCH ERROR".yellow.bold,
" | ".gray,
`${prot.toUpperCase()}`.bold,
" | ".gray,
s.bold,
` | ${error}`.bold
);
};
ok = (prot, s, data) => {
this.log(
" OK ".bold.green,
" | ".gray,
`${prot.toUpperCase()}`.bold,
" | ".gray,
s.bold,
this.verbose ? ` | ${this.stringify(data)}` : ""
);
};
error = (prot, s, data) => {
this.err(
"ERROR".bold.red,
" | ".gray,
`${prot.toUpperCase()}`.bold,
" | ".gray,
s.bold,
this.verboseError ? ` | ${this.stringify(data)}` : ""
);
};
num = () => this.log(`Progress : ${this.test_num}/${this.total}`);
errors = () => {
this.sep();
if (this.errorsList.length > 0) {
this.title("FAILED TESTS");
for (const e of this.errorsList) {
if (e.errors === "failed") {
this.err(
e.descr.red,
" | ".gray,
`${e.prot.toUpperCase()}`.bold,
" | ".gray,
e.addr.red.bold,
this.verboseError ? ` | ${this.stringify(e.response)}` : ""
);
} else {
this.err(
e.descr.yellow,
" | ".gray,
`${e.prot.toUpperCase()}`.bold,
" | ".gray,
e.addr.yellow.bold,
this.verboseError ? ` | ${this.stringify(e.response)}` : ""
);
}
}
} else {
this.title("ALL GOOD");
}
};
descr = (descr) => {
++this.test_num;
this.num();
if (!!descr) {
this.log(`${descr.cyan}\n`);
}
};
any = console.log;
log = console.log;
err = console.log;
debug = console.debug;
}
module.exports = new Print();