]> git.proxmox.com Git - mirror_xterm.js.git/commitdiff
Fix #531: Submit code coverage to coveralls.io
authorParis Kasidiaris <paris@sourcelair.com>
Wed, 22 Feb 2017 14:17:22 +0000 (16:17 +0200)
committerParis Kasidiaris <paris@sourcelair.com>
Wed, 22 Feb 2017 14:17:22 +0000 (16:17 +0200)
.gitignore
.travis.yml
gulpfile.js
package.json
src/test/test.js

index f44dfda23d070ddef019f6b80b5ab058aa7034ff..d5531c1d5532cc7df9ae7b4504e6fbe080ada33c 100644 (file)
@@ -13,3 +13,6 @@ npm-debug.log
 .env
 build/
 .vscode/
+
+# Directories needed for code coverage
+/coverage/
index b32fc7ea3a2a44955c6dccbb964d68f9b47d656a..b98cb202c1de595c4258d37825dcf9b40ea8ed7f 100644 (file)
@@ -16,3 +16,4 @@ addons:
 notifications:
   email: false
 script: npm run $NPM_COMMAND
+after_success: npm run coveralls
index 8aa86b115979fd9dc81f72009e243e6baf33807e..0043d7b1283ecddf4210b531a331c6822cacc332 100644 (file)
@@ -1,7 +1,9 @@
 const browserify = require('browserify');
 const buffer = require('vinyl-buffer');
+const coveralls = require('gulp-coveralls');
 const fs = require('fs-extra');
 const gulp = require('gulp');
+const istanbul = require('gulp-istanbul');
 const merge = require('merge-stream');
 const mocha = require('gulp-mocha');
 const mochaPhantomJs = require('gulp-mocha-phantomjs');
@@ -70,9 +72,18 @@ gulp.task('browserify', ['tsc'], function() {
   return merge(bundleStream, copyAddons, copyStylesheets);
 });
 
-gulp.task('test-mocha', function () {
+gulp.task('instrument-test', function () {
+  return gulp.src(['lib/**/*.js'])
+    // Covering files
+    .pipe(istanbul())
+    // Force `require` to return covered files
+    .pipe(istanbul.hookRequire());
+});
+
+gulp.task('test-mocha', ['instrument-test'], function () {
   return gulp.src(['lib/*test.js', 'lib/**/*test.js'], {read: false})
       .pipe(mocha())
+      .pipe(istanbul.writeReports());
 });
 
 gulp.task('test-mocha-phantomjs', function () {
@@ -91,6 +102,14 @@ gulp.task('sorcery', ['browserify'], function () {
   chain.writeSync();
 });
 
+/**
+ * Submit coverage results to coveralls.io
+ */
+gulp.task('coveralls', function () {
+  gulp.src('coverage/**/lcov.info')
+    .pipe(coveralls());
+});
+
 gulp.task('build', ['sorcery']);
 gulp.task('test', ['test-mocha', 'test-mocha-phantomjs']);
 gulp.task('default', ['build']);
index 06a7492b97e4cd5e231da20e2a93c12447beda3c..3019103f74f7c318c87499964735fc550eeb799d 100644 (file)
@@ -47,6 +47,8 @@
     "glob": "^7.0.5",
     "gulp": "^3.9.1",
     "gulp-cli": "^1.2.2",
+    "gulp-coveralls": "^0.1.4",
+    "gulp-istanbul": "^1.1.1",
     "gulp-mocha": "^3.0.1",
     "gulp-mocha-phantomjs": "^0.12.0",
     "gulp-sourcemaps": "1.9.1",
@@ -70,6 +72,7 @@
     "test": "gulp test",
     "build:docs": "jsdoc -c jsdoc.json",
     "build": "gulp build",
-    "prepublish": "npm run build"
+    "prepublish": "npm run build",
+    "coveralls": "gulp coveralls"
   }
 }
index d0d70686a6d1d343480a2a295003eb4f21649565..716b48c42f74a8e69542db91bdf96579b333115c 100644 (file)
@@ -550,6 +550,7 @@ describe('xterm.js', function() {
 
   describe('unicode - surrogates', function() {
     it('2 characters per cell', function () {
+      this.timeout(10000);  // This is needed because istanbul patches code and slows it down
       var high = String.fromCharCode(0xD800);
       for (var i=0xDC00; i<=0xDCFF; ++i) {
         xterm.write(high + String.fromCharCode(i));