UNPKG

4.04 kBJavaScriptView Raw
1'use strict';
2
3module.exports = function (t, a) {
4 var x, y;
5
6 a(t('test'), 'test', "Plain");
7 a(t('test', 'foo', 3, { toString: function () { return 'bar'; } }),
8 'test foo 3 bar', "Plain: Many args");
9
10 a(t.red('foo'), '\x1b[31mfoo\x1b[39m', "Foreground");
11 a(t.red('foo', 'bar', 3), '\x1b[31mfoo bar 3\x1b[39m',
12 "Foreground: Many args");
13 a(t.red.yellow('foo', 'bar', 3), '\x1b[33mfoo bar 3\x1b[39m',
14 "Foreground: Overriden");
15 a(t.bgRed('foo', 'bar'), '\x1b[41mfoo bar\x1b[49m', "Background");
16 a(t.bgRed.bgYellow('foo', 'bar', 3), '\x1b[43mfoo bar 3\x1b[49m',
17 "Background: Overriden");
18
19 a(t.blue.bgYellow('foo', 'bar'), '\x1b[43m\x1b[34mfoo bar\x1b[39m\x1b[49m',
20 "Foreground & Background");
21 a(t.blue.bgYellow.red.bgMagenta('foo', 'bar'),
22 '\x1b[45m\x1b[31mfoo bar\x1b[39m\x1b[49m',
23 "Foreground & Background: Overriden");
24
25 a(t.bold('foo', 'bar'), '\x1b[1mfoo bar\x1b[22m', "Format");
26 a(t.blink('foobar'), '\x1b[5mfoobar\x1b[25m', "Format: blink");
27 a(t.bold.blue('foo', 'bar', 3), '\x1b[1m\x1b[34mfoo bar 3\x1b[39m\x1b[22m',
28 "Foreground & Format");
29
30 a(t.redBright('foo', 'bar'), '\x1b[91mfoo bar\x1b[39m', "Bright");
31 a(t.bgRedBright('foo', 3), '\x1b[101mfoo 3\x1b[49m', "Bright background");
32
33 a(t.blueBright.bgYellowBright.red.bgMagenta('foo', 'bar'),
34 '\x1b[45m\x1b[31mfoo bar\x1b[39m\x1b[49m',
35 "Foreground & Background: Bright: Overriden");
36
37 x = t.red;
38 y = x.bold;
39
40 a(x('foo', 'red') + ' ' + y('foo', 'boldred'),
41 '\x1b[31mfoo red\x1b[39m \x1b[1m\x1b[31mfoo boldred\x1b[39m\x1b[22m',
42 "Detached extension");
43
44 if (t.xtermSupported) {
45 a(t.xterm(12).bgXterm(67)('foo', 'xterm'),
46 '\x1b[48;5;67m\x1b[38;5;12mfoo xterm\x1b[39m\x1b[49m', "Xterm");
47
48 a(t.redBright.bgBlueBright.xterm(12).bgXterm(67)('foo', 'xterm'),
49 '\x1b[48;5;67m\x1b[38;5;12mfoo xterm\x1b[39m\x1b[49m',
50 "Xterm: Override & Bright");
51 a(t.xterm(12).bgXterm(67).redBright.bgMagentaBright('foo', 'xterm'),
52 '\x1b[105m\x1b[91mfoo xterm\x1b[39m\x1b[49m',
53 "Xterm: Override & Bright #2");
54 } else {
55 a(t.xterm(12).bgXterm(67)('foo', 'xterm'),
56 '\x1b[100m\x1b[94mfoo xterm\x1b[39m\x1b[49m', "Xterm");
57 }
58
59 a(typeof t.width, 'number', "Width");
60 a(typeof t.height, 'number', "Height");
61
62 a(/\n*\x1bc/.test(t.reset), true, "Reset");
63
64 a(t.up(), '', "Up: No argument");
65 a(t.up({}), '', "Up: Not a number");
66 a(t.up(-34), '', "Up: Negative");
67 a(t.up(34), '\x1b[34A', "Up: Positive");
68
69 a(t.down(), '', "Down: No argument");
70 a(t.down({}), '', "Down: Not a number");
71 a(t.down(-34), '', "Down: Negative");
72 a(t.down(34), '\x1b[34B', "Down: Positive");
73
74 a(t.right(), '', "Right: No argument");
75 a(t.right({}), '', "Right: Not a number");
76 a(t.right(-34), '', "Right: Negative");
77 a(t.right(34), '\x1b[34C', "Right: Positive");
78
79 a(t.left(), '', "Left: No argument");
80 a(t.left({}), '', "Left: Not a number");
81 a(t.left(-34), '', "Left: Negative");
82 a(t.left(34), '\x1b[34D', "Left: Positive");
83
84 a(t.move(), '', "Move: No arguments");
85 a(t.move({}, {}), '', "Move: Bad arguments");
86 a(t.move({}, 12), '\x1b[12B', "Move: One direction");
87 a(t.move(0, -12), '\x1b[12A', "Move: One negative direction");
88 a(t.move(-42, -2), '\x1b[42D\x1b[2A', "Move: two negatives");
89 a(t.move(2, 35), '\x1b[2C\x1b[35B', "Move: two positives");
90
91 a(t.moveTo(), '\x1b[1;1H', "MoveTo: No arguments");
92 a(t.moveTo({}, {}), '\x1b[1;1H', "MoveTo: Bad arguments");
93 a(t.moveTo({}, 12), '\x1b[13;1H', "MoveTo: One direction");
94 a(t.moveTo(2, -12), '\x1b[1;3H', "MoveTo: One negative direction");
95 a(t.moveTo(-42, -2), '\x1b[1;1H', "MoveTo: two negatives");
96 a(t.moveTo(2, 35), '\x1b[36;3H', "MoveTo: two positives");
97
98 a(t.bol(), '\x1b[0E', "Bol: No argument");
99 a(t.bol({}), '\x1b[0E', "Bol: Not a number");
100 a(t.bol(-34), '\x1b[34F', "Bol: Negative");
101 a(t.bol(34), '\x1b[34E', "Bol: Positive");
102
103 a(t.bol({}, true), '\x1b[0E\x1bK', "Bol: Erase: Not a number");
104 a(t.bol(-2, true), '\x1b[0E\x1bK\x1b[1F\x1b[K\x1b[1F\x1b[K',
105 "Bol: Erase: Negative");
106 a(t.bol(2, true), '\x1b[1E\x1b[K\x1b[1E\x1b[K',
107 "Bol: Erase: Positive");
108
109 a(t.beep, '\x07', "Beep");
110};