Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/mocha-3.1.2/lib/reporters/landing.js')
-rw-r--r--tests/lib/mocha-3.1.2/lib/reporters/landing.js94
1 files changed, 94 insertions, 0 deletions
diff --git a/tests/lib/mocha-3.1.2/lib/reporters/landing.js b/tests/lib/mocha-3.1.2/lib/reporters/landing.js
new file mode 100644
index 0000000000..b8c7b5f20c
--- /dev/null
+++ b/tests/lib/mocha-3.1.2/lib/reporters/landing.js
@@ -0,0 +1,94 @@
+'use strict';
+
+/**
+ * Module dependencies.
+ */
+
+var Base = require('./base');
+var inherits = require('../utils').inherits;
+var cursor = Base.cursor;
+var color = Base.color;
+
+/**
+ * Expose `Landing`.
+ */
+
+exports = module.exports = Landing;
+
+/**
+ * Airplane color.
+ */
+
+Base.colors.plane = 0;
+
+/**
+ * Airplane crash color.
+ */
+
+Base.colors['plane crash'] = 31;
+
+/**
+ * Runway color.
+ */
+
+Base.colors.runway = 90;
+
+/**
+ * Initialize a new `Landing` reporter.
+ *
+ * @api public
+ * @param {Runner} runner
+ */
+function Landing (runner) {
+ Base.call(this, runner);
+
+ var self = this;
+ var width = Base.window.width * 0.75 | 0;
+ var total = runner.total;
+ var stream = process.stdout;
+ var plane = color('plane', '✈');
+ var crashed = -1;
+ var n = 0;
+
+ function runway () {
+ var buf = Array(width).join('-');
+ return ' ' + color('runway', buf);
+ }
+
+ runner.on('start', function () {
+ stream.write('\n\n\n ');
+ cursor.hide();
+ });
+
+ runner.on('test end', function (test) {
+ // check if the plane crashed
+ var col = crashed === -1 ? width * ++n / total | 0 : crashed;
+
+ // show the crash
+ if (test.state === 'failed') {
+ plane = color('plane crash', '✈');
+ crashed = col;
+ }
+
+ // render landing strip
+ stream.write('\u001b[' + (width + 1) + 'D\u001b[2A');
+ stream.write(runway());
+ stream.write('\n ');
+ stream.write(color('runway', Array(col).join('⋅')));
+ stream.write(plane);
+ stream.write(color('runway', Array(width - col).join('⋅') + '\n'));
+ stream.write(runway());
+ stream.write('\u001b[0m');
+ });
+
+ runner.on('end', function () {
+ cursor.show();
+ console.log();
+ self.epilogue();
+ });
+}
+
+/**
+ * Inherit from `Base.prototype`.
+ */
+inherits(Landing, Base);