Added tests for markoc

This commit is contained in:
Patrick Steele-Idem 2016-06-30 16:02:26 -06:00
parent 4e9a6b108c
commit 32c820fe8f
15 changed files with 107 additions and 0 deletions

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1,15 @@
var expect = require('chai').expect;
exports.test = function(helpers) {
helpers.spawnSync(['template1.marko']);
helpers.spawnSync(['template2.marko']);
expect(helpers.existsSync('template1.marko.js')).to.equal(true);
expect(helpers.existsSync('template2.marko.js')).to.equal(true);
helpers.spawnSync(['.', '--clean']);
expect(helpers.existsSync('template1.marko.js')).to.equal(false);
expect(helpers.existsSync('template2.marko.js')).to.equal(false);
};

View File

@ -0,0 +1,7 @@
var expect = require('chai').expect;
exports.test = function(helpers) {
var result = helpers.spawnSync(['.'], { encoding: 'utf8' });
expect(result.stdout).to.contain('No templates found');
};

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1,11 @@
var expect = require('chai').expect;
exports.test = function(helpers) {
expect(helpers.existsSync('template1.marko.js')).to.equal(false);
expect(helpers.existsSync('template2.marko.js')).to.equal(false);
helpers.spawnSync(['.']);
expect(helpers.existsSync('template1.marko.js')).to.equal(true);
expect(helpers.existsSync('template2.marko.js')).to.equal(true);
};

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1,13 @@
var expect = require('chai').expect;
exports.test = function(helpers) {
expect(helpers.existsSync('a/template.marko.js')).to.equal(false);
expect(helpers.existsSync('b/template.marko.js')).to.equal(false);
expect(helpers.existsSync('excluded/template.marko.js')).to.equal(false);
helpers.spawnSync(['a', 'b']);
expect(helpers.existsSync('a/template.marko.js')).to.equal(true);
expect(helpers.existsSync('b/template.marko.js')).to.equal(true);
expect(helpers.existsSync('excluded/template.marko.js')).to.equal(false);
};

View File

@ -0,0 +1 @@
- Hello ${data.name}!

View File

@ -0,0 +1,8 @@
var expect = require('chai').expect;
exports.test = function(helpers) {
expect(helpers.existsSync('template.marko.js')).to.equal(false);
var result = helpers.spawnSync(['template.marko']);
expect(helpers.existsSync('template.marko.js')).to.equal(true);
expect(result.status).to.equal(0);
};

View File

@ -0,0 +1,9 @@
var expect = require('chai').expect;
exports.test = function(helpers) {
var result = helpers.spawnSync([], {
encoding: 'utf8'
});
expect(result.stdout).to.contain('Usage: markoc');
};

36
test/markoc-tests.js Normal file
View File

@ -0,0 +1,36 @@
'use strict';
require('./patch-module');
require('marko/node-require').install();
var chai = require('chai');
chai.config.includeStack = true;
var nodePath = require('path');
require('../compiler');
var autotest = require('./autotest');
var markocPath = require.resolve('../bin/markoc');
var childProcess = require('child_process');
var fs = require('fs');
describe('markoc' , function() {
var autoTestDir = nodePath.join(__dirname, 'autotests/markoc');
autotest.scanDir(autoTestDir, function run(dir, helpers, done) {
var testModule = require(nodePath.join(dir, 'test.js'));
helpers.existsSync = function(filename) {
return fs.existsSync(nodePath.join(dir, filename));
};
helpers.spawnSync = function(args, options) {
options = options || {};
if (!options.cwd) {
options.cwd = dir;
}
return childProcess.spawnSync(markocPath, args, options);
};
helpers.spawnSync(['.', '--clean']);
testModule.test(helpers);
done();
});
});