Parcourir la source

Allow JavaScript views to have the .cjs suffix.

tags/v3.2.1
Eamonn O'Brien-Strain Phillip Johnsen il y a 6 ans
Parent
révision
aaaa94f4f3
5 fichiers modifiés avec 29 ajouts et 3 suppressions
  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 Voir le fichier

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


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


function wasNotFound (err) { function wasNotFound (err) {


+ 3
- 0
test/_files/cli.cjs Voir le fichier

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

+ 3
- 0
test/_files/cli.js Voir le fichier

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

+ 18
- 0
test/cli-test.js Voir le fichier

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


+ 3
- 2
test/render-helper.js Voir le fichier

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


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




Chargement…
Annuler
Enregistrer