UNPKG

apeman-tmpl-contrib-official

Version:
183 lines (167 loc) 4.35 kB
#!/usr/bin/env node /** * Test for index.js * Runs with nodeunit. */ "use strict"; var buds = require('./index'), path = require('path'), mkdirp = require('mkdirp'); var tmpDir = path.resolve(__dirname, 'tmp'); var basedir; exports.setUp = function (done) { mkdirp.sync(tmpDir); basedir = process.cwd(); done(); }; exports.tearDown = function (done) { process.chdir(basedir); done(); }; exports['Eval properties.'] = function (test) { Object.keys(buds).forEach(function (key) { test.ok(buds[key]); }); test.done(); }; exports['Render app contrib.'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-app'); mkdirp.sync(dirname); process.chdir(dirname); buds.appContrib.render({ pkg: { name: 'Foo' }, usage: __filename, options: { bar: 'This is bar' }, signature: require('./docs/mockups/mock-app-signature.json'), see: { quz: 'http://example.com' } }, function (err) { test.ifError(err); test.done(); }); }; exports['Render task contrib.'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-task'); mkdirp.sync(dirname); process.chdir(dirname); buds.taskContrib.render({ pkg: { name: 'apeman-task-contrib-foo', description: 'This is foo.' }, signature: require('./docs/mockups/mock-task-signature.json'), exampleTask: 'my-example-task', see: { quz: 'http://example.com' } }, function (err) { test.ifError(err); test.done(); }); }; exports['Render tmpl contrib.'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-tmpl'); mkdirp.sync(dirname); process.chdir(dirname); buds.tmplContrib.render({ pkg: { name: 'Foo' }, usage: __filename }, function (err) { test.ifError(err); test.done(); }); }; exports['Render ui contrib.'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-ui'); mkdirp.sync(dirname); process.chdir(dirname); buds.uiContrib.render({ pkg: { name: 'Foo' }, usage: __filename, dependencies: { "angular": "1.4.3" }, docs: { foo: 'http://bar' } }, function (err) { test.ifError(err); test.done(); }); }; exports['Render command.'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-command'); mkdirp.sync(dirname); process.chdir(dirname); buds.command.render({ command: { name: 'yo', params: {foo: {}}, description: 'baz', options: { 'quz': { "desc": "This is quz.", "default": "baz" } } }, pkg: { name: 'bar-baz' }, exampleApemanfile: require.resolve('./docs/mockups/mock-Apemanfile.js'), exampleUsage: require.resolve('./docs/mockups/mock-command-example.js') }, function (err) { test.ifError(err); test.done(); }); }; exports['Render commons.'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-commons'); mkdirp.sync(dirname); process.chdir(dirname); buds.commons.render({ module: { name: 'ja', params: {foo: {}}, description: 'baz', options: { 'quz': { "desc": "This is quz." } } }, pkg: { name: 'bar-baz' }, usages: [ { "title": "foo", "description": "This is how to use foo", example: require.resolve('./docs/mockups/mock-module-example.js') } ] }, function (err) { test.ifError(err); test.done(); }); }; exports['Demo'] = function (test) { var dirname = path.resolve(tmpDir, 'testing-demo'); mkdirp.sync(dirname); process.chdir(dirname); buds.demo.render({ url: 'http://example.com/foo.git' }, function (err) { test.ifError(err); test.done(); }); };