stylus-source 0.28.2 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/vendor/Readme.md +1 -1
- data/vendor/lib/functions/index.js +75 -1
- data/vendor/lib/functions/url.js +11 -12
- data/vendor/lib/lexer.js +2 -1
- data/vendor/lib/stylus.js +1 -1
- data/vendor/lib/visitor/compiler.js +1 -1
- data/vendor/lib/visitor/evaluator.js +2 -0
- data/vendor/node_modules/cssom/package.json +0 -3
- data/vendor/node_modules/mocha/History.md +21 -0
- data/vendor/node_modules/mocha/Makefile +2 -2
- data/vendor/node_modules/mocha/_mocha.js +141 -48
- data/vendor/node_modules/mocha/bin/_mocha +53 -61
- data/vendor/node_modules/mocha/bin/mocha +3 -0
- data/vendor/node_modules/mocha/lib/interfaces/bdd.js +23 -6
- data/vendor/node_modules/mocha/lib/mocha.js +55 -4
- data/vendor/node_modules/mocha/lib/reporters/base.js +5 -5
- data/vendor/node_modules/mocha/lib/reporters/dot.js +5 -4
- data/vendor/node_modules/mocha/lib/reporters/html.js +25 -12
- data/vendor/node_modules/mocha/lib/reporters/landing.js +2 -2
- data/vendor/node_modules/mocha/lib/reporters/min.js +2 -2
- data/vendor/node_modules/mocha/lib/reporters/nyan.js +6 -6
- data/vendor/node_modules/mocha/lib/reporters/progress.js +1 -1
- data/vendor/node_modules/mocha/lib/reporters/xunit.js +5 -1
- data/vendor/node_modules/mocha/lib/runnable.js +1 -1
- data/vendor/node_modules/mocha/lib/runner.js +3 -3
- data/vendor/node_modules/mocha/lib/suite.js +7 -1
- data/vendor/node_modules/mocha/lib/utils.js +1 -1
- data/vendor/node_modules/mocha/mocha.css +18 -1
- data/vendor/node_modules/mocha/mocha.js +141 -48
- data/vendor/node_modules/mocha/package.json +6 -3
- data/vendor/node_modules/mocha/test.js +3 -5
- data/vendor/node_modules/should/History.md +11 -0
- data/vendor/node_modules/should/Readme.md +22 -10
- data/vendor/node_modules/should/lib/should.js +70 -62
- data/vendor/node_modules/should/package.json +5 -2
- data/vendor/node_modules/should/test/should.test.js +64 -0
- data/vendor/package.json +1 -1
- data/vendor/testing/foo.css +3 -0
- data/vendor/testing/index.js +1 -0
- data/vendor/testing/small.styl +12 -10
- metadata +3 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/Snippets/bdd - after each.tmSnippet +0 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/Snippets/bdd - after.tmSnippet +0 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/Snippets/bdd - before each.tmSnippet +0 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/Snippets/bdd - before.tmSnippet +0 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/Snippets/bdd - it.tmSnippet +0 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/Snippets/untitled.tmSnippet +0 -16
- data/vendor/node_modules/mocha/editors/JavaScript mocha.tmbundle/info.plist +0 -19
- data/vendor/node_modules/mocha/support/compile.js +0 -154
- data/vendor/node_modules/mocha/support/foot.js +0 -1
- data/vendor/node_modules/mocha/support/head.js +0 -2
- data/vendor/node_modules/mocha/support/tail.js +0 -150
- data/vendor/node_modules/mocha/support/template.html +0 -16
@@ -28,11 +28,6 @@ module.exports = function(suite){
|
|
28
28
|
|
29
29
|
suite.on('pre-require', function(context){
|
30
30
|
|
31
|
-
// noop variants
|
32
|
-
|
33
|
-
context.xdescribe = function(){};
|
34
|
-
context.xit = function(){};
|
35
|
-
|
36
31
|
/**
|
37
32
|
* Execute before running tests.
|
38
33
|
*/
|
@@ -65,6 +60,18 @@ module.exports = function(suite){
|
|
65
60
|
suites[0].afterEach(fn);
|
66
61
|
};
|
67
62
|
|
63
|
+
/**
|
64
|
+
* Pending describe.
|
65
|
+
*/
|
66
|
+
|
67
|
+
context.xdescribe = context.xcontext = function(title, fn){
|
68
|
+
var suite = Suite.create(suites[0], title);
|
69
|
+
suite.pending = true;
|
70
|
+
suites.unshift(suite);
|
71
|
+
fn();
|
72
|
+
suites.shift();
|
73
|
+
};
|
74
|
+
|
68
75
|
/**
|
69
76
|
* Describe a "suite" with the given `title`
|
70
77
|
* and callback `fn` containing nested suites
|
@@ -85,7 +92,17 @@ module.exports = function(suite){
|
|
85
92
|
*/
|
86
93
|
|
87
94
|
context.it = context.specify = function(title, fn){
|
88
|
-
suites[0]
|
95
|
+
var suite = suites[0];
|
96
|
+
if (suite.pending) var fn = null;
|
97
|
+
suite.addTest(new Test(title, fn));
|
98
|
+
};
|
99
|
+
|
100
|
+
/**
|
101
|
+
* Pending test case.
|
102
|
+
*/
|
103
|
+
|
104
|
+
context.xit = context.xspecify = function(title){
|
105
|
+
context.it(title);
|
89
106
|
};
|
90
107
|
});
|
91
108
|
};
|
@@ -116,13 +116,15 @@ Mocha.prototype.ui = function(name){
|
|
116
116
|
* @api private
|
117
117
|
*/
|
118
118
|
|
119
|
-
Mocha.prototype.loadFiles = function(){
|
119
|
+
Mocha.prototype.loadFiles = function(fn){
|
120
120
|
var suite = this.suite;
|
121
|
+
var pending = this.files.length;
|
121
122
|
this.files.forEach(function(file){
|
122
123
|
file = path.resolve(file);
|
123
124
|
suite.emit('pre-require', global, file);
|
124
125
|
suite.emit('require', require(file), file);
|
125
126
|
suite.emit('post-require', global, file);
|
127
|
+
--pending || (fn && fn());
|
126
128
|
});
|
127
129
|
};
|
128
130
|
|
@@ -132,7 +134,7 @@ Mocha.prototype.loadFiles = function(){
|
|
132
134
|
* @api private
|
133
135
|
*/
|
134
136
|
|
135
|
-
Mocha.prototype.
|
137
|
+
Mocha.prototype._growl = function(runner, reporter) {
|
136
138
|
var notify = require('growl');
|
137
139
|
|
138
140
|
runner.on('end', function(){
|
@@ -165,6 +167,55 @@ Mocha.prototype.grep = function(re){
|
|
165
167
|
return this;
|
166
168
|
};
|
167
169
|
|
170
|
+
/**
|
171
|
+
* Invert `.grep()` matches.
|
172
|
+
*
|
173
|
+
* @return {Mocha}
|
174
|
+
* @api public
|
175
|
+
*/
|
176
|
+
|
177
|
+
Mocha.prototype.invert = function(){
|
178
|
+
this.options.invert = true;
|
179
|
+
return this;
|
180
|
+
};
|
181
|
+
|
182
|
+
/**
|
183
|
+
* Ignore global leaks.
|
184
|
+
*
|
185
|
+
* @return {Mocha}
|
186
|
+
* @api public
|
187
|
+
*/
|
188
|
+
|
189
|
+
Mocha.prototype.ignoreLeaks = function(){
|
190
|
+
this.options.ignoreLeaks = true;
|
191
|
+
return this;
|
192
|
+
};
|
193
|
+
|
194
|
+
/**
|
195
|
+
* Enable growl support.
|
196
|
+
*
|
197
|
+
* @return {Mocha}
|
198
|
+
* @api public
|
199
|
+
*/
|
200
|
+
|
201
|
+
Mocha.prototype.growl = function(){
|
202
|
+
this.options.growl = true;
|
203
|
+
return this;
|
204
|
+
};
|
205
|
+
|
206
|
+
/**
|
207
|
+
* Ignore `globals`.
|
208
|
+
*
|
209
|
+
* @param {Array} globals
|
210
|
+
* @return {Mocha}
|
211
|
+
* @api public
|
212
|
+
*/
|
213
|
+
|
214
|
+
Mocha.prototype.globals = function(globals){
|
215
|
+
this.options.globals = globals;
|
216
|
+
return this;
|
217
|
+
};
|
218
|
+
|
168
219
|
/**
|
169
220
|
* Run tests and invoke `fn()` when complete.
|
170
221
|
*
|
@@ -180,8 +231,8 @@ Mocha.prototype.run = function(fn){
|
|
180
231
|
var runner = new exports.Runner(suite);
|
181
232
|
var reporter = new this._reporter(runner);
|
182
233
|
runner.ignoreLeaks = options.ignoreLeaks;
|
183
|
-
if (options.grep) runner.grep(options.grep);
|
234
|
+
if (options.grep) runner.grep(options.grep, options.invert);
|
184
235
|
if (options.globals) runner.globals(options.globals);
|
185
|
-
if (options.growl) this.
|
236
|
+
if (options.growl) this._growl(runner, reporter);
|
186
237
|
return runner.run(fn);
|
187
238
|
};
|
@@ -74,7 +74,7 @@ exports.colors = {
|
|
74
74
|
|
75
75
|
var color = exports.color = function(type, str) {
|
76
76
|
if (!exports.useColors) return str;
|
77
|
-
return '\
|
77
|
+
return '\u001b[' + exports.colors[type] + 'm' + str + '\u001b[0m';
|
78
78
|
};
|
79
79
|
|
80
80
|
/**
|
@@ -97,19 +97,19 @@ exports.window = {
|
|
97
97
|
|
98
98
|
exports.cursor = {
|
99
99
|
hide: function(){
|
100
|
-
process.stdout.write('\
|
100
|
+
process.stdout.write('\u001b[?25l');
|
101
101
|
},
|
102
102
|
|
103
103
|
show: function(){
|
104
|
-
process.stdout.write('\
|
104
|
+
process.stdout.write('\u001b[?25h');
|
105
105
|
},
|
106
106
|
|
107
107
|
deleteLine: function(){
|
108
|
-
process.stdout.write('\
|
108
|
+
process.stdout.write('\u001b[2K');
|
109
109
|
},
|
110
110
|
|
111
111
|
beginningOfLine: function(){
|
112
|
-
process.stdout.write('\
|
112
|
+
process.stdout.write('\u001b[0G');
|
113
113
|
},
|
114
114
|
|
115
115
|
CR: function(){
|
@@ -25,6 +25,7 @@ function Dot(runner) {
|
|
25
25
|
var self = this
|
26
26
|
, stats = this.stats
|
27
27
|
, width = Base.window.width * .75 | 0
|
28
|
+
, c = '․'
|
28
29
|
, n = 0;
|
29
30
|
|
30
31
|
runner.on('start', function(){
|
@@ -32,21 +33,21 @@ function Dot(runner) {
|
|
32
33
|
});
|
33
34
|
|
34
35
|
runner.on('pending', function(test){
|
35
|
-
process.stdout.write(color('pending',
|
36
|
+
process.stdout.write(color('pending', c));
|
36
37
|
});
|
37
38
|
|
38
39
|
runner.on('pass', function(test){
|
39
40
|
if (++n % width == 0) process.stdout.write('\n ');
|
40
41
|
if ('slow' == test.speed) {
|
41
|
-
process.stdout.write(color('bright yellow',
|
42
|
+
process.stdout.write(color('bright yellow', c));
|
42
43
|
} else {
|
43
|
-
process.stdout.write(color(test.speed,
|
44
|
+
process.stdout.write(color(test.speed, c));
|
44
45
|
}
|
45
46
|
});
|
46
47
|
|
47
48
|
runner.on('fail', function(test, err){
|
48
49
|
if (++n % width == 0) process.stdout.write('\n ');
|
49
|
-
process.stdout.write(color('fail',
|
50
|
+
process.stdout.write(color('fail', c));
|
50
51
|
});
|
51
52
|
|
52
53
|
runner.on('end', function(){
|
@@ -30,8 +30,8 @@ exports = module.exports = HTML;
|
|
30
30
|
|
31
31
|
var statsTemplate = '<ul id="stats">'
|
32
32
|
+ '<li class="progress"><canvas width="40" height="40"></canvas></li>'
|
33
|
-
+ '<li class="passes">passes
|
34
|
-
+ '<li class="failures">failures
|
33
|
+
+ '<li class="passes"><a href="#">passes:</a> <em>0</em></li>'
|
34
|
+
+ '<li class="failures"><a href="#">failures:</a> <em>0</em></li>'
|
35
35
|
+ '<li class="duration">duration: <em>0</em>s</li>'
|
36
36
|
+ '</ul>';
|
37
37
|
|
@@ -52,7 +52,9 @@ function HTML(runner) {
|
|
52
52
|
, stat = fragment(statsTemplate)
|
53
53
|
, items = stat.getElementsByTagName('li')
|
54
54
|
, passes = items[1].getElementsByTagName('em')[0]
|
55
|
+
, passesLink = items[1].getElementsByTagName('a')[0]
|
55
56
|
, failures = items[2].getElementsByTagName('em')[0]
|
57
|
+
, failuresLink = items[2].getElementsByTagName('a')[0]
|
56
58
|
, duration = items[3].getElementsByTagName('em')[0]
|
57
59
|
, canvas = stat.getElementsByTagName('canvas')[0]
|
58
60
|
, report = fragment('<ul id="report"></ul>')
|
@@ -67,6 +69,18 @@ function HTML(runner) {
|
|
67
69
|
|
68
70
|
if (!root) return error('#mocha div missing, add it to your document');
|
69
71
|
|
72
|
+
// pass toggle
|
73
|
+
on(passesLink, 'click', function () {
|
74
|
+
var className = /pass/.test(report.className) ? '' : ' pass';
|
75
|
+
report.className = report.className.replace(/fail|pass/g, '') + className;
|
76
|
+
});
|
77
|
+
|
78
|
+
// failure toggle
|
79
|
+
on(failuresLink, 'click', function () {
|
80
|
+
var className = /fail/.test(report.className) ? '' : ' fail';
|
81
|
+
report.className = report.className.replace(/fail|pass/g, '') + className;
|
82
|
+
});
|
83
|
+
|
70
84
|
root.appendChild(stat);
|
71
85
|
root.appendChild(report);
|
72
86
|
|
@@ -134,17 +148,16 @@ function HTML(runner) {
|
|
134
148
|
}
|
135
149
|
|
136
150
|
// toggle code
|
137
|
-
var h2 = el.getElementsByTagName('h2')[0];
|
138
|
-
|
139
|
-
on(h2, 'click', function(){
|
140
|
-
pre.style.display = 'none' == pre.style.display
|
141
|
-
? 'block'
|
142
|
-
: 'none';
|
143
|
-
});
|
144
|
-
|
145
|
-
// code
|
146
151
|
// TODO: defer
|
147
152
|
if (!test.pending) {
|
153
|
+
var h2 = el.getElementsByTagName('h2')[0];
|
154
|
+
|
155
|
+
on(h2, 'click', function(){
|
156
|
+
pre.style.display = 'none' == pre.style.display
|
157
|
+
? 'inline-block'
|
158
|
+
: 'none';
|
159
|
+
});
|
160
|
+
|
148
161
|
var pre = fragment('<pre><code>%e</code></pre>', utils.clean(test.fn.toString()));
|
149
162
|
el.appendChild(pre);
|
150
163
|
pre.style.display = 'none';
|
@@ -203,4 +216,4 @@ function on(el, event, fn) {
|
|
203
216
|
} else {
|
204
217
|
el.attachEvent('on' + event, fn);
|
205
218
|
}
|
206
|
-
}
|
219
|
+
}
|
@@ -73,14 +73,14 @@ function Landing(runner) {
|
|
73
73
|
}
|
74
74
|
|
75
75
|
// render landing strip
|
76
|
-
stream.write('\
|
76
|
+
stream.write('\u001b[4F\n\n');
|
77
77
|
stream.write(runway());
|
78
78
|
stream.write('\n ');
|
79
79
|
stream.write(color('runway', Array(col).join('⋅')));
|
80
80
|
stream.write(plane)
|
81
81
|
stream.write(color('runway', Array(width - col).join('⋅') + '\n'));
|
82
82
|
stream.write(runway());
|
83
|
-
stream.write('\
|
83
|
+
stream.write('\u001b[0m');
|
84
84
|
});
|
85
85
|
|
86
86
|
runner.on('end', function(){
|
@@ -23,9 +23,9 @@ function Min(runner) {
|
|
23
23
|
|
24
24
|
runner.on('start', function(){
|
25
25
|
// clear screen
|
26
|
-
process.stdout.write('\
|
26
|
+
process.stdout.write('\u001b[2J');
|
27
27
|
// set cursor position
|
28
|
-
process.stdout.write('\
|
28
|
+
process.stdout.write('\u001b[1;3H');
|
29
29
|
});
|
30
30
|
|
31
31
|
runner.on('end', this.epilogue.bind(this));
|
@@ -87,7 +87,7 @@ NyanCat.prototype.drawScoreboard = function(){
|
|
87
87
|
|
88
88
|
function draw(color, n) {
|
89
89
|
write(' ');
|
90
|
-
write('\
|
90
|
+
write('\u001b[' + color + 'm' + n + '\u001b[0m');
|
91
91
|
write('\n');
|
92
92
|
}
|
93
93
|
|
@@ -126,7 +126,7 @@ NyanCat.prototype.drawRainbow = function(){
|
|
126
126
|
var self = this;
|
127
127
|
|
128
128
|
this.trajectories.forEach(function(line, index) {
|
129
|
-
write('\
|
129
|
+
write('\u001b[' + self.scoreboardWidth + 'C');
|
130
130
|
write(line.join(''));
|
131
131
|
write('\n');
|
132
132
|
});
|
@@ -146,7 +146,7 @@ NyanCat.prototype.drawNyanCat = function(status) {
|
|
146
146
|
var startWidth = this.scoreboardWidth + this.trajectories[0].length;
|
147
147
|
|
148
148
|
[0, 1, 2, 3].forEach(function(index) {
|
149
|
-
write('\
|
149
|
+
write('\u001b[' + startWidth + 'C');
|
150
150
|
|
151
151
|
switch (index) {
|
152
152
|
case 0:
|
@@ -194,7 +194,7 @@ NyanCat.prototype.drawNyanCat = function(status) {
|
|
194
194
|
*/
|
195
195
|
|
196
196
|
NyanCat.prototype.cursorUp = function(n) {
|
197
|
-
write('\
|
197
|
+
write('\u001b[' + n + 'A');
|
198
198
|
};
|
199
199
|
|
200
200
|
/**
|
@@ -205,7 +205,7 @@ NyanCat.prototype.cursorUp = function(n) {
|
|
205
205
|
*/
|
206
206
|
|
207
207
|
NyanCat.prototype.cursorDown = function(n) {
|
208
|
-
write('\
|
208
|
+
write('\u001b[' + n + 'B');
|
209
209
|
};
|
210
210
|
|
211
211
|
/**
|
@@ -241,7 +241,7 @@ NyanCat.prototype.generateColors = function(){
|
|
241
241
|
NyanCat.prototype.rainbowify = function(str){
|
242
242
|
var color = this.rainbowColors[this.colorIndex % this.rainbowColors.length];
|
243
243
|
this.colorIndex += 1;
|
244
|
-
return '\
|
244
|
+
return '\u001b[38;5;' + color + 'm' + str + '\u001b[0m';
|
245
245
|
};
|
246
246
|
|
247
247
|
/**
|
@@ -60,7 +60,7 @@ function Progress(runner, options) {
|
|
60
60
|
, i = width - n;
|
61
61
|
|
62
62
|
cursor.CR();
|
63
|
-
process.stdout.write('\
|
63
|
+
process.stdout.write('\u001b[J');
|
64
64
|
process.stdout.write(color('progress', ' ' + options.open));
|
65
65
|
process.stdout.write(Array(n).join(options.complete));
|
66
66
|
process.stdout.write(Array(i).join(options.incomplete));
|
@@ -4,7 +4,7 @@
|
|
4
4
|
*/
|
5
5
|
|
6
6
|
var EventEmitter = require('events').EventEmitter
|
7
|
-
, debug = require('debug')('runner')
|
7
|
+
, debug = require('debug')('mocha:runner')
|
8
8
|
, Test = require('./test')
|
9
9
|
, utils = require('./utils')
|
10
10
|
, filter = utils.filter
|
@@ -411,9 +411,9 @@ Runner.prototype.runSuite = function(suite, fn){
|
|
411
411
|
*/
|
412
412
|
|
413
413
|
Runner.prototype.uncaught = function(err){
|
414
|
-
debug('uncaught exception');
|
414
|
+
debug('uncaught exception %s', err.message);
|
415
415
|
var runnable = this.currentRunnable;
|
416
|
-
if ('failed' == runnable.state) return;
|
416
|
+
if (!runnable || 'failed' == runnable.state) return;
|
417
417
|
runnable.clearTimeout();
|
418
418
|
err.uncaught = true;
|
419
419
|
this.fail(runnable, err);
|
@@ -4,7 +4,7 @@
|
|
4
4
|
*/
|
5
5
|
|
6
6
|
var EventEmitter = require('events').EventEmitter
|
7
|
-
, debug = require('debug')('suite')
|
7
|
+
, debug = require('debug')('mocha:suite')
|
8
8
|
, utils = require('./utils')
|
9
9
|
, Hook = require('./hook');
|
10
10
|
|
@@ -30,6 +30,7 @@ exports = module.exports = Suite;
|
|
30
30
|
exports.create = function(parent, title){
|
31
31
|
var suite = new Suite(title, parent.ctx);
|
32
32
|
suite.parent = parent;
|
33
|
+
if (parent.pending) suite.pending = true;
|
33
34
|
title = suite.fullTitle();
|
34
35
|
parent.addSuite(suite);
|
35
36
|
return suite;
|
@@ -49,6 +50,7 @@ function Suite(title, ctx) {
|
|
49
50
|
this.ctx = ctx;
|
50
51
|
this.suites = [];
|
51
52
|
this.tests = [];
|
53
|
+
this.pending = false;
|
52
54
|
this._beforeEach = [];
|
53
55
|
this._beforeAll = [];
|
54
56
|
this._afterEach = [];
|
@@ -120,6 +122,7 @@ Suite.prototype.bail = function(bail){
|
|
120
122
|
*/
|
121
123
|
|
122
124
|
Suite.prototype.beforeAll = function(fn){
|
125
|
+
if (this.pending) return this;
|
123
126
|
var hook = new Hook('"before all" hook', fn);
|
124
127
|
hook.parent = this;
|
125
128
|
hook.timeout(this.timeout());
|
@@ -138,6 +141,7 @@ Suite.prototype.beforeAll = function(fn){
|
|
138
141
|
*/
|
139
142
|
|
140
143
|
Suite.prototype.afterAll = function(fn){
|
144
|
+
if (this.pending) return this;
|
141
145
|
var hook = new Hook('"after all" hook', fn);
|
142
146
|
hook.parent = this;
|
143
147
|
hook.timeout(this.timeout());
|
@@ -156,6 +160,7 @@ Suite.prototype.afterAll = function(fn){
|
|
156
160
|
*/
|
157
161
|
|
158
162
|
Suite.prototype.beforeEach = function(fn){
|
163
|
+
if (this.pending) return this;
|
159
164
|
var hook = new Hook('"before each" hook', fn);
|
160
165
|
hook.parent = this;
|
161
166
|
hook.timeout(this.timeout());
|
@@ -174,6 +179,7 @@ Suite.prototype.beforeEach = function(fn){
|
|
174
179
|
*/
|
175
180
|
|
176
181
|
Suite.prototype.afterEach = function(fn){
|
182
|
+
if (this.pending) return this;
|
177
183
|
var hook = new Hook('"after each" hook', fn);
|
178
184
|
hook.parent = this;
|
179
185
|
hook.timeout(this.timeout());
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
@charset "UTF-8";
|
2
2
|
body {
|
3
3
|
font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
|
4
4
|
padding: 60px 50px;
|
@@ -143,6 +143,14 @@ body {
|
|
143
143
|
-webkit-box-shadow: 0 1px 3px #eee;
|
144
144
|
}
|
145
145
|
|
146
|
+
#report.pass .test.fail {
|
147
|
+
display: none;
|
148
|
+
}
|
149
|
+
|
150
|
+
#report.fail .test.pass {
|
151
|
+
display: none;
|
152
|
+
}
|
153
|
+
|
146
154
|
#error {
|
147
155
|
color: #c00;
|
148
156
|
font-size: 1.5 em;
|
@@ -168,6 +176,15 @@ body {
|
|
168
176
|
color: black;
|
169
177
|
}
|
170
178
|
|
179
|
+
#stats a {
|
180
|
+
text-decoration: none;
|
181
|
+
color: inherit;
|
182
|
+
}
|
183
|
+
|
184
|
+
#stats a:hover {
|
185
|
+
border-bottom: 1px solid #eee;
|
186
|
+
}
|
187
|
+
|
171
188
|
#stats li {
|
172
189
|
display: inline-block;
|
173
190
|
margin: 0 5px;
|