From 7d9d9a4514c12c80b4c9475d57d674bf775c9149 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 4 Feb 2015 01:46:30 +0100 Subject: Add command line option to write output to stdout Adds the command line option pair -w/--write. These options indicate that the output should be written to standard output, rather than being posted to coveralls.io, which may be useful for debugging, mixed-language codebases (e.g. node addons with C++ code) etc. --- test/sendToCoveralls.js | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/sendToCoveralls.js b/test/sendToCoveralls.js index f809319..eca6bef 100644 --- a/test/sendToCoveralls.js +++ b/test/sendToCoveralls.js @@ -1,6 +1,7 @@ var should = require('should'); var request = require('request'); var sinon = require('sinon-restore'); +var stream = require('stream'); var index = require('../index'); logger = require('log-driver')({level : false}); @@ -27,7 +28,7 @@ describe("sendToCoveralls", function(){ }); var obj = {"some":"obj"}; - index.sendToCoveralls(obj, function(err, response, body){ + index.sendToCoveralls(obj, function(err, response, body){ err.should.equal('err'); response.should.equal('response'); body.should.equal('body'); @@ -44,11 +45,31 @@ describe("sendToCoveralls", function(){ }); var obj = {"some":"obj"}; - index.sendToCoveralls(obj, function(err, response, body){ + index.sendToCoveralls(obj, function(err, response, body){ err.should.equal('err'); response.should.equal('response'); body.should.equal('body'); done(); }); }); + it ("writes output to stdout when --write is passed", function(done) { + var obj = {"some":"obj"}; + + // set up mock process.stdout.write temporarily + var origStdoutWrite = process.stdout.write; + process.stdout.write = function(string) { + if (string == JSON.stringify(obj)) { + process.stdout.write = origStdoutWrite; + return done(); + } + + origStdoutWrite.apply(this, arguments); + }; + + process.argv[2] = '--write'; + + index.sendToCoveralls(obj, function(err, response, body) { + response.statusCode.should.equal(200); + }); + }); }); -- cgit v1.2.3 From d8a015519e79185f6dcf10c605927d2e06ead365 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 4 Feb 2015 02:25:16 +0100 Subject: Remove unneccessary 'streams' require() in test case --- test/sendToCoveralls.js | 1 - 1 file changed, 1 deletion(-) (limited to 'test') diff --git a/test/sendToCoveralls.js b/test/sendToCoveralls.js index eca6bef..2224f0b 100644 --- a/test/sendToCoveralls.js +++ b/test/sendToCoveralls.js @@ -1,7 +1,6 @@ var should = require('should'); var request = require('request'); var sinon = require('sinon-restore'); -var stream = require('stream'); var index = require('../index'); logger = require('log-driver')({level : false}); -- cgit v1.2.3 From 125d8b15e9fd8e6c9c67f4d54f12ea72b87049a3 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 15 Apr 2015 17:24:49 +0200 Subject: Modify tests to reflect minimist usage The tests now modify the options object directly instead of modifying `process.argv` To allow using this tool with Coveralls Enterprise, I've added support in `sendToCoveralls` to read the host from a `COVERALLS_ENDPOINT` environment variable (if it exists), else default to coveralls.io (as before). --- test/logger.js | 8 ++++---- test/sendToCoveralls.js | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/test/logger.js b/test/logger.js index 15767ff..19767df 100644 --- a/test/logger.js +++ b/test/logger.js @@ -4,27 +4,27 @@ var index = require('../index'); describe("logger", function(){ it ("should log at debug level when --verbose is set", function(){ - process.argv[2] = '--verbose'; + index.options.verbose = true; var logger = require('../index').logger(); logger.level.should.equal('warn'); }); it ("should log at debug level when NODE_COVERALLS_DEBUG is set in env", function(){ - process.argv = []; + index.options.verbose = false; process.env.NODE_COVERALLS_DEBUG = 1; var logger = require('../index').logger(); logger.level.should.equal('warn'); }); it ("should log at debug level when NODE_COVERALLS_DEBUG is set in env as a string", function(){ - process.argv = []; + index.options.verbose = false; process.env.NODE_COVERALLS_DEBUG = '1'; var logger = require('../index').logger(); logger.level.should.equal('warn'); }); it ("should log at warn level when NODE_COVERALLS_DEBUG not set and no --verbose", function(){ - process.argv = []; + index.options.verbose = false; process.env.NODE_COVERALLS_DEBUG = 0; var logger = require('../index').logger(); logger.level.should.equal('error'); diff --git a/test/sendToCoveralls.js b/test/sendToCoveralls.js index 2224f0b..6121bbb 100644 --- a/test/sendToCoveralls.js +++ b/test/sendToCoveralls.js @@ -27,6 +27,7 @@ describe("sendToCoveralls", function(){ }); var obj = {"some":"obj"}; + index.sendToCoveralls(obj, function(err, response, body){ err.should.equal('err'); response.should.equal('response'); @@ -51,7 +52,7 @@ describe("sendToCoveralls", function(){ done(); }); }); - it ("writes output to stdout when --write is passed", function(done) { + it ("writes output to stdout when --stdout is passed", function(done) { var obj = {"some":"obj"}; // set up mock process.stdout.write temporarily @@ -65,7 +66,7 @@ describe("sendToCoveralls", function(){ origStdoutWrite.apply(this, arguments); }; - process.argv[2] = '--write'; + index.options.stdout = true; index.sendToCoveralls(obj, function(err, response, body) { response.statusCode.should.equal(200); -- cgit v1.2.3 From c69ded1dd61fe371b32a6c45a7bafae1b79932fd Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 15 Apr 2015 18:06:29 +0200 Subject: Modify tests to use the minimist options object for filepath detection --- test/getOptions.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/getOptions.js b/test/getOptions.js index 0943fe1..897427c 100644 --- a/test/getOptions.js +++ b/test/getOptions.js @@ -70,7 +70,7 @@ describe("getOptions", function(){ done(); }); it ("should get a filepath if there is one", function(done){ - process.argv[2] = "somepath"; + index.options._ = ["somepath"]; getOptions(function(err, options){ options.filepath.should.equal("somepath"); done(); @@ -78,8 +78,8 @@ describe("getOptions", function(){ }); it ("should get a filepath if there is one, even in verbose mode", function(done){ - process.argv[2] = "--verbose"; - process.argv[3] = "somepath"; + index.options.verbose = "true"; + index.options._ = ["somepath"]; getOptions(function(err, options){ options.filepath.should.equal("somepath"); done(); -- cgit v1.2.3