From ab2ffcf0d7bd9f05b50cb244ed773e056201984c Mon Sep 17 00:00:00 2001 From: tunnckoCore Date: Thu, 1 Oct 2015 18:30:04 +0300 Subject: [PATCH] add generators tests --- package.json | 1 + test.js | 8 ++++++++ test/generators.js | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 test/generators.js diff --git a/package.json b/package.json index ba8625c..7967f5f 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "bluebird": "^2.10.1", "mz": "^2.0.0", "rx": "^4.0.0", + "semver": "^5.0.3", "simple-get": "^1.4.3", "through2": "^2.0.0" }, diff --git a/test.js b/test.js index 0270711..dc5a4e6 100644 --- a/test.js +++ b/test.js @@ -10,6 +10,7 @@ 'use strict' var test = require('assertit') +var semver = require('semver') test('errors', function (done) { require('./test/errors') @@ -45,3 +46,10 @@ test('child processes', function (done) { require('./test/child_processes') done() }) + +if (semver.gte(process.version, '0.11.13')) { + test('generators', function (done) { + require('./test/generators') + done() + }) +} diff --git a/test/generators.js b/test/generators.js new file mode 100644 index 0000000..a978259 --- /dev/null +++ b/test/generators.js @@ -0,0 +1,41 @@ +/*! + * coone + * + * Copyright (c) 2015 Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk) + * Released under the MIT license. + */ + +/* jshint asi:true */ + +'use strict' + +var mzfs = require('mz/fs') +var test = require('assertit') +var coone = require('../index') + +function * success () { + return yield mzfs.readFile('package.json', 'utf8') +} + +function * failure () { + return yield mzfs.readFile('foobar.json') +} + +test('should handle successful generator function', function (done) { + coone(success)(function (err, res) { + test.ifError(err) + test.strictEqual(typeof res, 'string') + test.ok(res.indexOf('"license": "MIT"') !== -1) + done() + }) +}) + +test('should handle generator function errors', function (done) { + coone(failure)(function (err, res) { + test.ifError(!err) + test.ok(err instanceof Error) + test.strictEqual(err.code, 'ENOENT') + test.strictEqual(res, undefined) + done() + }) +})