mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
* first action! (#1)
This commit is contained in:
parent
8deacc95b1
commit
ace1e6a69a
3750 changed files with 1155519 additions and 0 deletions
134
node_modules/node-alias/test/alias.unit.js
generated
vendored
Normal file
134
node_modules/node-alias/test/alias.unit.js
generated
vendored
Normal file
|
@ -0,0 +1,134 @@
|
|||
(function() {
|
||||
'use strict';
|
||||
|
||||
var CHALK_RESULT = '_CHALK_RESULT_';
|
||||
|
||||
var _ = require('lodash');
|
||||
var chai = require('chai');
|
||||
var sinon = require('sinon');
|
||||
var sinonChai = require('sinon-chai');
|
||||
var expect = chai.expect;
|
||||
var path = require('path');
|
||||
var requireSubvert = require('require-subvert')(__dirname);
|
||||
|
||||
chai.use(sinonChai);
|
||||
|
||||
var sandbox = sinon.sandbox.create();
|
||||
var short = 'test';
|
||||
var shortWithSub = 'test sub';
|
||||
|
||||
|
||||
var fullpath = path.resolve(__dirname);
|
||||
var stubs = {};
|
||||
stubs[fullpath + '/' + short] = {};
|
||||
stubs[fullpath + '/' + _.kebabCase(shortWithSub)] = {};
|
||||
|
||||
describe('alias (exported module)', function() {
|
||||
var alias, chalk;
|
||||
|
||||
beforeEach(function() {
|
||||
chalk = {
|
||||
bold: {
|
||||
blue: sandbox.stub().returns(CHALK_RESULT),
|
||||
red: sandbox.stub().returns(CHALK_RESULT)
|
||||
}
|
||||
};
|
||||
|
||||
requireSubvert.subvert('chalk', chalk);
|
||||
requireSubvert.require('../index');
|
||||
alias = require('../index');
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
describe('when the input data is valid', function() {
|
||||
var _alias;
|
||||
|
||||
beforeEach(function() {
|
||||
_alias = _.partial(alias, short, __dirname);
|
||||
|
||||
sandbox.spy(process.stdout, 'write');
|
||||
sandbox.spy(console, 'log');
|
||||
});
|
||||
|
||||
it('if options.message is false should log nothing', function() {
|
||||
_alias({message: false});
|
||||
expect(process.stdout.write).not.to.have.been.called;
|
||||
expect(console.log).not.to.have.been.called;
|
||||
});
|
||||
|
||||
describe('if options.message is not false', function() {
|
||||
it('should use the provided color if it exists', function() {
|
||||
var color = 'red';
|
||||
|
||||
quiet([
|
||||
_.partial(_alias, {color: color}),
|
||||
_.partial(expectInfo, null, color)
|
||||
]);
|
||||
});
|
||||
|
||||
it('should print the provided message if it is a string', function() {
|
||||
var message = '_MESSAGE_';
|
||||
|
||||
quiet([
|
||||
_.partial(_alias, {message: message}),
|
||||
_.partial(expectInfo, message)
|
||||
]);
|
||||
});
|
||||
|
||||
it('should print the default message if one is not provided', function() {
|
||||
quiet([_alias, expectInfo]);
|
||||
});
|
||||
|
||||
it('should print the default message options.message is `true`', function() {
|
||||
quiet([_.partial(_alias, {message: true}), expectInfo]);
|
||||
});
|
||||
|
||||
it('should print a blank line', function() {
|
||||
quiet([_alias]);
|
||||
expect(console.log).to.have.been.calledWith();
|
||||
});
|
||||
|
||||
it('should support git style sub-commands', function() {
|
||||
var sub = _.partial(alias, shortWithSub, __dirname);
|
||||
quiet([sub]);
|
||||
expect(_.partial(quiet, [])).not.to.throw();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('when the input data is not valid', function() {
|
||||
it('should throw an error if `short` is not provided', function() {
|
||||
expect(alias).to.throw('Missing `short`');
|
||||
});
|
||||
|
||||
it('should throw an error if `shortPath` is not provided', function() {
|
||||
expect(_.partial(alias, short)).to.throw('Missing `shortPath`');
|
||||
});
|
||||
});
|
||||
|
||||
// Make the expectations each time to validate they don't change when options change
|
||||
function expectInfo(message, color) {
|
||||
message = message || 'You can also use ' + CHALK_RESULT + ' as an alias';
|
||||
color = color || 'blue';
|
||||
|
||||
expect(chalk.bold[color]).to.have.been.calledWith('[INFO]:');
|
||||
expect(process.stdout.write).to.have.been.calledWith(CHALK_RESULT + ' ');
|
||||
expect(process.stdout.write).to.have.been.calledWith(message);
|
||||
}
|
||||
|
||||
// needed because we have to be careful when to suppress stdout as to not suppress errors / test output
|
||||
function quiet(funcs) {
|
||||
var restore = process.stdout.write;
|
||||
process.stdout.write = sandbox.spy();
|
||||
|
||||
_.each(funcs, function(func) {
|
||||
func();
|
||||
});
|
||||
|
||||
process.stdout.write = restore;
|
||||
}
|
||||
});
|
||||
})();
|
Loading…
Add table
Add a link
Reference in a new issue