From 43f12a7ec9f7d600849c32c94321d9e359152ecb Mon Sep 17 00:00:00 2001 From: Muthu Kumar Date: Fri, 3 Aug 2018 04:35:25 +0530 Subject: [PATCH] [docs] Added basic README & utility helpers --- .eslintrc.js | 6 +++++- README.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ assets/gun.jpeg | Bin 0 -> 68280 bytes gunner/index.js | 2 +- index.js | 1 + package.json | 5 +++-- util/helpers.js | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 README.md create mode 100644 assets/gun.jpeg create mode 100644 index.js create mode 100644 util/helpers.js diff --git a/.eslintrc.js b/.eslintrc.js index 115ae27..4750fac 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,8 +1,11 @@ module.exports = { + "parserOptions": { + "ecmaVersion": 2018, + }, "env": { "commonjs": true, "es6": true, - "node": true + "node": true, }, "extends": "eslint:recommended", "rules": { @@ -13,6 +16,7 @@ module.exports = { "no-unneeded-ternary": "error", "no-console": "off", "no-undef": "off", + 'comma-dangle': [ 'error', 'only-multiline' ], "indent": [ "error", "tab", diff --git a/README.md b/README.md new file mode 100644 index 0000000..d939d6d --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# Gunner + +Django Unchained + +#### _Tiny, but fully loaded._ + +> Gunner is a zero magic, fast test-runner and assertion framework. There are no magic globals or CLI specific interface. + +## Usage + +Create a new `Gunner` instance and simply write your tests. The assertion methods are passed in as the callback to the test function. + +```JavaScript +const gunner = new Gunner(); + +gunner.test('arrays are equal', expect => { + return expect([1, 2,]).deepEqual([1 ,2]); +}); + +gunner.run(); +``` + +## API + +--- +### [new Gunner(options)](#gunner-constructor) +### [Gunner#test(title, implementation)](#gunnertest) +### [Gunner#run(options)](#gunnerrun) +--- + +### Gunner constructor + +Creates a new Gunner instance. + +#### Usage + +```JavaScript +const gunner = new Gunner(options); +``` + +### Gunner#test + +Registers a new test. + +#### Usage + +```JavaScript +gunner.test('sum should equal 3', expect => { + const sum = 1 + 2; + return expect(sum).equal(3); +}); +``` + +### Gunner#run + +Starts running Gunner tests. + +#### Usage + +```JavaScript +gunner.run(options); +``` diff --git a/assets/gun.jpeg b/assets/gun.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7b60ac8272f14d2372089b12a301c8df4b7ed16a GIT binary patch literal 68280 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 L>L{X$3Az8-$>5e_ literal 0 HcmV?d00001 diff --git a/gunner/index.js b/gunner/index.js index 4c7d67c..b52dc5a 100644 --- a/gunner/index.js +++ b/gunner/index.js @@ -38,4 +38,4 @@ class Gunner { } module.exports = Gunner; -module.exports.assert = _expect; +module.exports.expect = _expect; diff --git a/index.js b/index.js new file mode 100644 index 0000000..cca91cd --- /dev/null +++ b/index.js @@ -0,0 +1 @@ +module.exports = require('./gunner'); \ No newline at end of file diff --git a/package.json b/package.json index f6848b5..a8263fa 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,11 @@ "keywords": [ "klenty", "test", - "mocha" + "tdd", + "unit testing" ], "author": "Muthu Kumar <@MKRhere> (https://mkr.pw)", - "license": "ISC", + "license": "MIT", "bugs": { "url": "https://github.com/vengatkrishnaraj/testsuite/issues" }, diff --git a/util/helpers.js b/util/helpers.js new file mode 100644 index 0000000..37ab55b --- /dev/null +++ b/util/helpers.js @@ -0,0 +1,55 @@ +module.exports = { + + /* Flattens an array of arrays to an array */ + flatten : arrData => [].concat.apply([], arrData), + + /* Maps a function over an array */ + map : fn => x => x.map(fn), + + /* Returns identity */ + identity : x => x, + + /* Wraps a value in an object with given key */ + wrapWith : x => y => ({ [x] : y }), + + /* Unwraps a value from an object with given key */ + unwrapFrom : x => y => y[x], + + /* Resolves an array of Promises */ + promiseAll : x => Promise.all(x), + + /* Pipe a value or promise through any number of unary functions */ + pipe: (...fns) => + arg => fns.reduce((acc, fn) => + typeof acc.then === 'function' + ? acc.then(fn) + : fn(acc), arg), + + /* Pass partial arguments and return a function that accepts the rest */ + partial: (fn, ...args) => (...rest) => fn(...args, ...rest), + + /* Item is in collection */ + isIn : (collection, item) => collection.indexOf(item) !== -1, + + /* Collection contains given path */ + containsPath : (collection, path) => collection.some( + x => path.match(new RegExp(`/${x}/?$`)) + ), + + /* Lift promises into a function */ + liftPromise : (fn, thing) => + typeof thing.then === 'function' + ? thing.then(fn) + : fn(thing), + + /* Stringifies object or coerces to string */ + stringify : obj => + typeof obj === 'object' + ? (obj.stack || JSON.stringify(obj)) + : obj, + + /* Short circuits with given value on pred. Else calls function */ + short : (pred, shorter) => + fn => value => pred(value) ? shorter(value) : fn(value), + +};