mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
var fs = require('fs');
|
|
var nodePath = require('path');
|
|
|
|
var tempDir = nodePath.join(__dirname, 'temp');
|
|
|
|
function copyFiles(dir) {
|
|
var files = fs.readdirSync(dir);
|
|
files.forEach((file) => {
|
|
var src = fs.readFileSync(nodePath.join(dir, file));
|
|
fs.writeFileSync(nodePath.join(tempDir, file), src);
|
|
});
|
|
}
|
|
|
|
exports.check = function(marko, hotReload, expect) {
|
|
try {
|
|
fs.mkdirSync(nodePath.join(__dirname, 'temp'));
|
|
} catch(e) {}
|
|
|
|
try {
|
|
fs.unlinkSync(nodePath.join(__dirname, 'temp/component.js'));
|
|
} catch(e) {}
|
|
|
|
try {
|
|
fs.unlinkSync(nodePath.join(__dirname, 'temp/index.marko'));
|
|
} catch(e) {}
|
|
|
|
try {
|
|
fs.unlinkSync(nodePath.join(__dirname, 'temp/index.marko.js'));
|
|
} catch(e) {}
|
|
|
|
var tempTemplatePath = nodePath.join(__dirname, 'temp/index.marko');
|
|
|
|
copyFiles(nodePath.join(__dirname, 'a'));
|
|
var component = require(tempTemplatePath);
|
|
expect(component.renderSync({ name: 'Frank' }).toString()).to.equal('<div class="a">Hello Frank</div>');
|
|
|
|
hotReload.handleFileModified(tempTemplatePath);
|
|
|
|
copyFiles(nodePath.join(__dirname, 'b'));
|
|
expect(component.renderSync({ name: 'Jane' }).toString()).to.equal('<div class="b" id="w0">Hello Jane</div>');
|
|
}; |