Normalize line endings.
This commit is contained in:
parent
285f3ec285
commit
719a961fb5
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -1,2 +1 @@
|
|||||||
# Automatically normalize line endings for all text-based files
|
* text=auto
|
||||||
* text=crlf
|
|
||||||
|
8
AUTHORS
8
AUTHORS
@ -1,5 +1,5 @@
|
|||||||
Tim Branyen (http://tbranyen.com)
|
Tim Branyen (http://tbranyen.com)
|
||||||
Tyler Kellen (http://goingslowly.com/)
|
Tyler Kellen (http://goingslowly.com/)
|
||||||
Chris Talkington (http://christalkington.com/)
|
Chris Talkington (http://christalkington.com/)
|
||||||
Larry Davis (http://lazd.net/)
|
Larry Davis (http://lazd.net/)
|
||||||
Adrien Antoine (http://adriantoine.com/)
|
Adrien Antoine (http://adriantoine.com/)
|
326
Gruntfile.js
326
Gruntfile.js
@ -1,163 +1,163 @@
|
|||||||
/*
|
/*
|
||||||
* grunt-contrib-jst
|
* grunt-contrib-jst
|
||||||
* http://gruntjs.com/
|
* http://gruntjs.com/
|
||||||
*
|
*
|
||||||
* Copyright (c) 2016 Tim Branyen, contributors
|
* Copyright (c) 2016 Tim Branyen, contributors
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
|
|
||||||
// Project configuration.
|
// Project configuration.
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
jshint: {
|
jshint: {
|
||||||
all: [
|
all: [
|
||||||
'Gruntfile.js',
|
'Gruntfile.js',
|
||||||
'tasks/*.js',
|
'tasks/*.js',
|
||||||
'<%= nodeunit.tests %>'
|
'<%= nodeunit.tests %>'
|
||||||
],
|
],
|
||||||
options: {
|
options: {
|
||||||
jshintrc: '.jshintrc'
|
jshintrc: '.jshintrc'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Before generating any new files, remove any previously-created files.
|
// Before generating any new files, remove any previously-created files.
|
||||||
clean: {
|
clean: {
|
||||||
test: ['tmp']
|
test: ['tmp']
|
||||||
},
|
},
|
||||||
|
|
||||||
// Configuration to be run (and then tested).
|
// Configuration to be run (and then tested).
|
||||||
jst: {
|
jst: {
|
||||||
compile: {
|
compile: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/jst.js': ['test/fixtures/template.html']
|
'tmp/jst.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
pretty_amd: {
|
pretty_amd: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
prettify: true,
|
prettify: true,
|
||||||
amd: true
|
amd: true
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/pretty_amd.js': ['test/fixtures/template.html']
|
'tmp/pretty_amd.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prettify: {
|
prettify: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
prettify: true
|
prettify: true
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/pretty.js': ['test/fixtures/template.html']
|
'tmp/pretty.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
amd_wrapper: {
|
amd_wrapper: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
amd:true
|
amd:true
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/amd_wrapper.js': ['test/fixtures/template.html']
|
'tmp/amd_wrapper.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
amd_wrapper_no_ns: {
|
amd_wrapper_no_ns: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
amd: true,
|
amd: true,
|
||||||
namespace: false
|
namespace: false
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/amd_wrapper_no_ns.js': ['test/fixtures/template.html']
|
'tmp/amd_wrapper_no_ns.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
uglyfile: {
|
uglyfile: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/uglyfile.js': ['test/fixtures/*bad-filename*']
|
'tmp/uglyfile.js': ['test/fixtures/*bad-filename*']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ns_nested: {
|
ns_nested: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
namespace: 'MyApp.JST.Main'
|
namespace: 'MyApp.JST.Main'
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/ns_nested.js': ['test/fixtures/template.html']
|
'tmp/ns_nested.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ns_nested_this: {
|
ns_nested_this: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
namespace: 'this.MyApp.JST.Main'
|
namespace: 'this.MyApp.JST.Main'
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/ns_nested_this.js': ['test/fixtures/template.html']
|
'tmp/ns_nested_this.js': ['test/fixtures/template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
process_content: {
|
process_content: {
|
||||||
options: {
|
options: {
|
||||||
templateSettings: {
|
templateSettings: {
|
||||||
variable: 'obj'
|
variable: 'obj'
|
||||||
},
|
},
|
||||||
processContent: function (src) {
|
processContent: function (src) {
|
||||||
return src.replace(/(^\s+|\s+$)/gm, '');
|
return src.replace(/(^\s+|\s+$)/gm, '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
'tmp/process_content.js': ['test/fixtures/indent_template.html']
|
'tmp/process_content.js': ['test/fixtures/indent_template.html']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
local_scope: {
|
local_scope: {
|
||||||
files: {
|
files: {
|
||||||
'tmp/local_scope.js': ['test/fixtures/template_local_scope.html']
|
'tmp/local_scope.js': ['test/fixtures/template_local_scope.html']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Unit tests.
|
// Unit tests.
|
||||||
nodeunit: {
|
nodeunit: {
|
||||||
tests: ['test/*_test.js']
|
tests: ['test/*_test.js']
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Actually load this plugin's task(s).
|
// Actually load this plugin's task(s).
|
||||||
grunt.loadTasks('tasks');
|
grunt.loadTasks('tasks');
|
||||||
|
|
||||||
// These plugins provide necessary tasks.
|
// These plugins provide necessary tasks.
|
||||||
grunt.loadNpmTasks('grunt-contrib-jshint');
|
grunt.loadNpmTasks('grunt-contrib-jshint');
|
||||||
grunt.loadNpmTasks('grunt-contrib-nodeunit');
|
grunt.loadNpmTasks('grunt-contrib-nodeunit');
|
||||||
grunt.loadNpmTasks('grunt-contrib-internal');
|
grunt.loadNpmTasks('grunt-contrib-internal');
|
||||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||||
|
|
||||||
// Whenever the "test" task is run, first clean the "tmp" dir, then run this
|
// Whenever the "test" task is run, first clean the "tmp" dir, then run this
|
||||||
// plugin's task(s), then test the result.
|
// plugin's task(s), then test the result.
|
||||||
grunt.registerTask('test', ['clean', 'jst', 'nodeunit']);
|
grunt.registerTask('test', ['clean', 'jst', 'nodeunit']);
|
||||||
|
|
||||||
// By default, lint and run all tests.
|
// By default, lint and run all tests.
|
||||||
grunt.registerTask('default', ['jshint', 'test', 'build-contrib']);
|
grunt.registerTask('default', ['jshint', 'test', 'build-contrib']);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
40
LICENSE-MIT
40
LICENSE-MIT
@ -1,22 +1,22 @@
|
|||||||
Copyright (c) 2016 Tim Branyen, contributors
|
Copyright (c) 2016 Tim Branyen, contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
Permission is hereby granted, free of charge, to any person
|
||||||
obtaining a copy of this software and associated documentation
|
obtaining a copy of this software and associated documentation
|
||||||
files (the "Software"), to deal in the Software without
|
files (the "Software"), to deal in the Software without
|
||||||
restriction, including without limitation the rights to use,
|
restriction, including without limitation the rights to use,
|
||||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
copies of the Software, and to permit persons to whom the
|
copies of the Software, and to permit persons to whom the
|
||||||
Software is furnished to do so, subject to the following
|
Software is furnished to do so, subject to the following
|
||||||
conditions:
|
conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
The above copyright notice and this permission notice shall be
|
||||||
included in all copies or substantial portions of the Software.
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
OTHER DEALINGS IN THE SOFTWARE.
|
188
tasks/jst.js
188
tasks/jst.js
@ -1,94 +1,94 @@
|
|||||||
/*
|
/*
|
||||||
* grunt-contrib-jst
|
* grunt-contrib-jst
|
||||||
* http://gruntjs.com/
|
* http://gruntjs.com/
|
||||||
*
|
*
|
||||||
* Copyright (c) 2016 Tim Branyen, contributors
|
* Copyright (c) 2016 Tim Branyen, contributors
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('lodash');
|
var _ = require('lodash');
|
||||||
var chalk = require('chalk');
|
var chalk = require('chalk');
|
||||||
|
|
||||||
module.exports = function(grunt) {
|
module.exports = function(grunt) {
|
||||||
// filename conversion for templates
|
// filename conversion for templates
|
||||||
var defaultProcessName = function(name) { return name; };
|
var defaultProcessName = function(name) { return name; };
|
||||||
|
|
||||||
grunt.registerMultiTask('jst', 'Compile underscore templates to JST file', function() {
|
grunt.registerMultiTask('jst', 'Compile underscore templates to JST file', function() {
|
||||||
var lf = grunt.util.linefeed;
|
var lf = grunt.util.linefeed;
|
||||||
var lib = require('./lib/jst');
|
var lib = require('./lib/jst');
|
||||||
var options = this.options({
|
var options = this.options({
|
||||||
namespace: 'JST',
|
namespace: 'JST',
|
||||||
templateSettings: {},
|
templateSettings: {},
|
||||||
processContent: function (src) { return src; },
|
processContent: function (src) { return src; },
|
||||||
separator: lf + lf
|
separator: lf + lf
|
||||||
});
|
});
|
||||||
|
|
||||||
// assign filename transformation functions
|
// assign filename transformation functions
|
||||||
var processName = options.processName || defaultProcessName;
|
var processName = options.processName || defaultProcessName;
|
||||||
|
|
||||||
var nsInfo;
|
var nsInfo;
|
||||||
if (options.namespace !== false) {
|
if (options.namespace !== false) {
|
||||||
nsInfo = lib.getNamespaceDeclaration(options.namespace);
|
nsInfo = lib.getNamespaceDeclaration(options.namespace);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.files.forEach(function(f) {
|
this.files.forEach(function(f) {
|
||||||
var output = f.src.filter(function(filepath) {
|
var output = f.src.filter(function(filepath) {
|
||||||
// Warn on and remove invalid source files (if nonull was set).
|
// Warn on and remove invalid source files (if nonull was set).
|
||||||
if (!grunt.file.exists(filepath)) {
|
if (!grunt.file.exists(filepath)) {
|
||||||
grunt.log.warn('Source file ' + chalk.cyan(filepath) + ' not found.');
|
grunt.log.warn('Source file ' + chalk.cyan(filepath) + ' not found.');
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.map(function(filepath) {
|
.map(function(filepath) {
|
||||||
var src = options.processContent(grunt.file.read(filepath));
|
var src = options.processContent(grunt.file.read(filepath));
|
||||||
var compiled, filename;
|
var compiled, filename;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
compiled = _.template(src, false, options.templateSettings).source;
|
compiled = _.template(src, false, options.templateSettings).source;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
grunt.log.error(e);
|
grunt.log.error(e);
|
||||||
grunt.fail.warn('JST ' + chalk.cyan(filepath) + ' failed to compile.');
|
grunt.fail.warn('JST ' + chalk.cyan(filepath) + ' failed to compile.');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.prettify) {
|
if (options.prettify) {
|
||||||
compiled = compiled.replace(/\n/g, '');
|
compiled = compiled.replace(/\n/g, '');
|
||||||
}
|
}
|
||||||
filename = processName(filepath);
|
filename = processName(filepath);
|
||||||
|
|
||||||
if (options.amd && options.namespace === false) {
|
if (options.amd && options.namespace === false) {
|
||||||
return 'return ' + compiled;
|
return 'return ' + compiled;
|
||||||
}
|
}
|
||||||
return nsInfo.namespace+'['+JSON.stringify(filename)+'] = '+compiled+';';
|
return nsInfo.namespace+'['+JSON.stringify(filename)+'] = '+compiled+';';
|
||||||
});
|
});
|
||||||
|
|
||||||
if (output.length < 1) {
|
if (output.length < 1) {
|
||||||
grunt.log.warn('Destination not written because compiled files were empty.');
|
grunt.log.warn('Destination not written because compiled files were empty.');
|
||||||
} else {
|
} else {
|
||||||
if (options.namespace !== false) {
|
if (options.namespace !== false) {
|
||||||
output.unshift(nsInfo.declaration);
|
output.unshift(nsInfo.declaration);
|
||||||
}
|
}
|
||||||
if (options.amd) {
|
if (options.amd) {
|
||||||
if (options.prettify) {
|
if (options.prettify) {
|
||||||
output.forEach(function(line, index) {
|
output.forEach(function(line, index) {
|
||||||
output[index] = ' ' + line;
|
output[index] = ' ' + line;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
output.unshift('define(function(){');
|
output.unshift('define(function(){');
|
||||||
if (options.namespace !== false) {
|
if (options.namespace !== false) {
|
||||||
// Namespace has not been explicitly set to false; the AMD
|
// Namespace has not been explicitly set to false; the AMD
|
||||||
// wrapper will return the object containing the template.
|
// wrapper will return the object containing the template.
|
||||||
output.push(' return ' + nsInfo.namespace + ';');
|
output.push(' return ' + nsInfo.namespace + ';');
|
||||||
}
|
}
|
||||||
output.push('});');
|
output.push('});');
|
||||||
}
|
}
|
||||||
grunt.file.write(f.dest, output.join(grunt.util.normalizelf(options.separator)));
|
grunt.file.write(f.dest, output.join(grunt.util.normalizelf(options.separator)));
|
||||||
grunt.log.writeln('File ' + chalk.cyan(f.dest) + ' created.');
|
grunt.log.writeln('File ' + chalk.cyan(f.dest) + ' created.');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
124
test/jst_test.js
124
test/jst_test.js
@ -1,62 +1,62 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var grunt = require('grunt');
|
var grunt = require('grunt');
|
||||||
|
|
||||||
function readFile(file) {
|
function readFile(file) {
|
||||||
var contents = grunt.file.read(file);
|
var contents = grunt.file.read(file);
|
||||||
if (process.platform === 'win32') {
|
if (process.platform === 'win32') {
|
||||||
contents = contents.replace(/\r\n/g, '\n');
|
contents = contents.replace(/\r\n/g, '\n');
|
||||||
}
|
}
|
||||||
return contents;
|
return contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.jst = {
|
exports.jst = {
|
||||||
main: function(test) {
|
main: function(test) {
|
||||||
|
|
||||||
var expect, result;
|
var expect, result;
|
||||||
|
|
||||||
test.expect(10);
|
test.expect(10);
|
||||||
|
|
||||||
expect = readFile('test/expected/jst.js');
|
expect = readFile('test/expected/jst.js');
|
||||||
result = readFile('tmp/jst.js');
|
result = readFile('tmp/jst.js');
|
||||||
test.equal(expect, result, 'should compile underscore templates into JST');
|
test.equal(expect, result, 'should compile underscore templates into JST');
|
||||||
|
|
||||||
expect = readFile('test/expected/uglyfile.js');
|
expect = readFile('test/expected/uglyfile.js');
|
||||||
result = readFile('tmp/uglyfile.js');
|
result = readFile('tmp/uglyfile.js');
|
||||||
test.equal(expect, result, 'should escape single quotes in filenames');
|
test.equal(expect, result, 'should escape single quotes in filenames');
|
||||||
|
|
||||||
expect = readFile('test/expected/ns_nested.js');
|
expect = readFile('test/expected/ns_nested.js');
|
||||||
result = readFile('tmp/ns_nested.js');
|
result = readFile('tmp/ns_nested.js');
|
||||||
test.equal(expect, result, 'should define parts of nested namespaces');
|
test.equal(expect, result, 'should define parts of nested namespaces');
|
||||||
|
|
||||||
expect = readFile('test/expected/ns_nested.js'); // same as previous test
|
expect = readFile('test/expected/ns_nested.js'); // same as previous test
|
||||||
result = readFile('tmp/ns_nested_this.js');
|
result = readFile('tmp/ns_nested_this.js');
|
||||||
test.equal(expect, result, 'should define parts of nested namespaces, ignoring this.');
|
test.equal(expect, result, 'should define parts of nested namespaces, ignoring this.');
|
||||||
|
|
||||||
expect = readFile('test/expected/pretty.js');
|
expect = readFile('test/expected/pretty.js');
|
||||||
result = readFile('tmp/pretty.js');
|
result = readFile('tmp/pretty.js');
|
||||||
test.equal(expect, result, 'should make the output be 1 line per template, making the output less ugly');
|
test.equal(expect, result, 'should make the output be 1 line per template, making the output less ugly');
|
||||||
|
|
||||||
expect = readFile('test/expected/amd_wrapper.js');
|
expect = readFile('test/expected/amd_wrapper.js');
|
||||||
result = readFile('tmp/amd_wrapper.js');
|
result = readFile('tmp/amd_wrapper.js');
|
||||||
test.equal(expect, result, 'should wrap the template with define for AMD pattern');
|
test.equal(expect, result, 'should wrap the template with define for AMD pattern');
|
||||||
|
|
||||||
expect = readFile('test/expected/amd_wrapper_no_ns.js');
|
expect = readFile('test/expected/amd_wrapper_no_ns.js');
|
||||||
result = readFile('tmp/amd_wrapper_no_ns.js');
|
result = readFile('tmp/amd_wrapper_no_ns.js');
|
||||||
test.equal(expect, result, 'should wrap the template with define for AMD pattern and return the function itself with no namespace');
|
test.equal(expect, result, 'should wrap the template with define for AMD pattern and return the function itself with no namespace');
|
||||||
|
|
||||||
expect = readFile('test/expected/pretty_amd.js');
|
expect = readFile('test/expected/pretty_amd.js');
|
||||||
result = readFile('tmp/pretty_amd.js');
|
result = readFile('tmp/pretty_amd.js');
|
||||||
test.equal(expect, result, 'should make the AMD wrapper output pretty');
|
test.equal(expect, result, 'should make the AMD wrapper output pretty');
|
||||||
|
|
||||||
expect = readFile('test/expected/process_content.js');
|
expect = readFile('test/expected/process_content.js');
|
||||||
result = readFile('tmp/process_content.js');
|
result = readFile('tmp/process_content.js');
|
||||||
test.equal(expect, result, 'should convert file content');
|
test.equal(expect, result, 'should convert file content');
|
||||||
|
|
||||||
expect = readFile('test/expected/local_scope.js');
|
expect = readFile('test/expected/local_scope.js');
|
||||||
result = readFile('tmp/local_scope.js');
|
result = readFile('tmp/local_scope.js');
|
||||||
test.equal(expect, result, 'should add `with` block when templateSettings.variable is undefined');
|
test.equal(expect, result, 'should add `with` block when templateSettings.variable is undefined');
|
||||||
|
|
||||||
test.done();
|
test.done();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user