diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..8dc6807 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,21 @@ +{ + "rules": { + "no-console": "off", + "indent": [ "error", 2 ], + "quotes": [ "error", "single" ], + "semi": ["error", "always"], + "linebreak-style": [ "error", "unix" ] + }, + "env": { + "es6": true, + "node": true, + "mocha": true, + "jasmine": true + }, + "ecmaFeatures": { + "modules": true, + "experimentalObjectRestSpread": true, + "impliedStrict": true + }, + "extends": "eslint:recommended" +} diff --git a/index.js b/index.js new file mode 100644 index 0000000..a916d15 --- /dev/null +++ b/index.js @@ -0,0 +1,7 @@ +'use strict'; + +const greet = require('./lib/greet.js'); +var name = process.argv[2]; +// console.log(process.argv); + +greet.sayHi(name); diff --git a/lib/greet.js b/lib/greet.js new file mode 100644 index 0000000..6d00532 --- /dev/null +++ b/lib/greet.js @@ -0,0 +1,19 @@ +'use strict'; + +module.exports = exports = {}; +var name = process.argv[2]; + +exports.sayHi = function(name) { + if(arguments.length === 0) throw new Error('name not provided'); + console.log(`Hi ${name}!`); + return `Hi ${name}!`; +}; + +exports.saySeeYaLater = function(petName) { + if(arguments.length === 0) throw new Error('pet name not provided'); + console.log(`See ya later, ${petName}!`); + return `See ya later, ${petName}!`; +}; + +exports.sayHi(name); +exports.saySeeYaLater('Gaara'); diff --git a/tests/test.js b/tests/test.js new file mode 100644 index 0000000..d94fb4f --- /dev/null +++ b/tests/test.js @@ -0,0 +1,30 @@ +'use strict'; + +const greet = require('../lib/greet.js'); +const assert = require('assert'); +var name = process.argv[2]; + +describe('Greet Module', function() { + describe('#sayHi', function() { + it('should return Hi {name}!', function() { + var result = greet.sayHi(name); + assert.ok(result === `Hi ${name}!`, 'not equal to Hi hawa!'); + }); + it('should throw a missing name error', function() { + assert.throws(function() { + greet.sayHi(); + }, 'error not thrown'); + }); + }); + describe('#saySeeYaLater', function() { + it('should return See ya later {petName}!', function(){ + var results = greet.saySeeYaLater('Gaara'); + assert.ok(results === 'See ya later, Gaara!', 'not equal to See ya later, Gaara!'); + }); + it('should throw a missing name error', function(){ + assert.throws(function(){ + greet.saySeeYaLater(); + }, 'error not thrown'); + }); + }); +});