marko/test/markoc-tests.js

43 lines
1.2 KiB
JavaScript

'use strict';
require('./util/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) {
const testModule = require(nodePath.join(dir, 'test.js'));
helpers.existsSync = function(filename) {
return fs.existsSync(nodePath.join(dir, filename));
};
helpers.readSync = function(filename) {
return fs.readFileSync(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();
}, { timeout:20000 });
});