瀏覽代碼

Allow JavaScript views to have the .cjs suffix.

tags/v3.2.1
Eamonn O'Brien-Strain Phillip Johnsen 6 年之前
父節點
當前提交
aaaa94f4f3
共有 5 個文件被更改,包括 29 次插入3 次删除
  1. +2
    -1
      bin/mustache
  2. +3
    -0
      test/_files/cli.cjs
  3. +3
    -0
      test/_files/cli.js
  4. +18
    -0
      test/cli-test.js
  5. +3
    -2
      test/render-helper.js

+ 2
- 1
bin/mustache 查看文件

@@ -131,7 +131,8 @@ function isStdin (view) {
}

function isJsFile (view) {
return path.extname(view) === '.js';
var extension = path.extname(view);
return extension === '.js' || extension === '.cjs';
}

function wasNotFound (err) {


+ 3
- 0
test/_files/cli.cjs 查看文件

@@ -0,0 +1,3 @@
module.exports = {
name: 'LeBron'
};

+ 3
- 0
test/_files/cli.js 查看文件

@@ -0,0 +1,3 @@
module.exports = {
name: 'LeBron'
};

+ 18
- 0
test/cli-test.js 查看文件

@@ -76,6 +76,24 @@ describe('Mustache CLI', function () {
});
});

it('can handle view written in JavaScript with .js suffix', function (done) {
exec('bin/mustache test/_files/cli.js test/_files/cli.mustache', function (err, stdout, stderr) {
assert.equal(err, null);
assert.equal(stderr, '');
assert.equal(stdout, expectedOutput);
done();
});
});

it('can handle view written in JavaScript with .cjs suffix', function (done) {
exec('bin/mustache test/_files/cli.cjs test/_files/cli.mustache', function (err, stdout, stderr) {
assert.equal(err, null);
assert.equal(stderr, '');
assert.equal(stdout, expectedOutput);
done();
});
});

it('writes rendered template into the file specified by the third argument', function (done) {
var outputFile = 'test/_files/cli_output.txt';
exec('bin/mustache test/_files/cli.json test/_files/cli.mustache ' + outputFile, function (err, stdout, stderr) {


+ 3
- 2
test/render-helper.js 查看文件

@@ -13,6 +13,7 @@ function getContents (testName, ext) {

function getView (testName) {
var view = getContents(testName, 'js');
if (!view) view = getContents(testName, 'cjs');
if (!view) throw new Error('Cannot find view for test "' + testName + '"');
return view;
}
@@ -34,9 +35,9 @@ if (testToRun) {
testNames = testToRun.split(',');
} else {
testNames = fs.readdirSync(_files).filter(function (file) {
return (/\.js$/).test(file);
return (/\.c?js$/).test(file);
}).map(function (file) {
return path.basename(file).replace(/\.js$/, '');
return path.basename(file).replace(/\.c?js$/, '');
});
}



Loading…
取消
儲存