X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=gulpfile.js;h=6e21102323b1b768a0ad1c369347ff7922d9a0b6;hb=106eda70675296907643782358134d2628872ca4;hp=9b0a6de73f25a775eba3602677e134a504b472ee;hpb=87b76aadb7348e5a16f9efed1a1f4e56ff520722;p=mirror_xterm.js.git diff --git a/gulpfile.js b/gulpfile.js index 9b0a6de..6e21102 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -14,7 +14,7 @@ const sorcery = require('sorcery'); const source = require('vinyl-source-stream'); const sourcemaps = require('gulp-sourcemaps'); const ts = require('gulp-typescript'); - +const util = require('gulp-util'); let buildDir = process.env.BUILD_DIR || 'build'; let tsProject = ts.createProject('tsconfig.json'); @@ -22,6 +22,12 @@ let tsProjectSearchAddon = ts.createProject('./src/addons/search/tsconfig.json') let srcDir = tsProject.config.compilerOptions.rootDir; let outDir = tsProject.config.compilerOptions.outDir; +// Under some environments like TravisCI, this comes out at absolute which can +// break the build. This ensures that the outDir is absolute. +if (outDir.indexOf(__dirname) !== 0) { + outDir = `${__dirname}/${outDir}`; +} + /** * Compile TypeScript sources to JavaScript files and create a source map file for each TypeScript * file compiled. @@ -121,13 +127,26 @@ gulp.task('mocha', ['instrument-test'], function () { .pipe(istanbul.writeReports()); }); +/** + * Run single test file by file name(without file extension). Example of the command: + * gulp mocha-test --test InputHandler.test + */ +gulp.task('mocha-test', ['instrument-test'], function () { + let testName = util.env.test; + util.log("Run test by Name: " + testName); + return gulp.src([`${outDir}/${testName}.js`, `${outDir}/**/${testName}.js`], {read: false}) + .pipe(mocha()) + .once('error', () => process.exit(1)) + .pipe(istanbul.writeReports()); +}); + /** * Use `sorcery` to resolve the source map chain and point back to the TypeScript files. * (Without this task the source maps produced for the JavaScript bundle points into the * compiled JavaScript files in ${outDir}/). */ gulp.task('sorcery', ['browserify'], function () { - var chain = sorcery.loadSync(`${buildDir}/xterm.js`); + let chain = sorcery.loadSync(`${buildDir}/xterm.js`); chain.apply(); chain.writeSync(); });