grunt-preprocess
Version:
Preprocess HTML and JavaScript directives based off environment configuration
146 lines (109 loc) • 4.03 kB
JavaScript
var grunt = require('grunt');
/*
======== A Handy Little Nodeunit Reference ========
https://github.com/caolan/nodeunit
Test methods:
test.expect(numAssertions)
test.done()
Test assertions:
test.ok(value, [message])
test.equal(actual, expected, [message])
test.notEqual(actual, expected, [message])
test.deepEqual(actual, expected, [message])
test.notDeepEqual(actual, expected, [message])
test.strictEqual(actual, expected, [message])
test.notStrictEqual(actual, expected, [message])
test.throws(block, [error], [message])
test.doesNotThrow(block, [error], [message])
test.ifError(value)
*/
var task = require('../tasks/preprocess');
var read = grunt.file.read;
exports['preprocess'] = {
setUp: function(done) {
// setup here
done();
},
'preprocess html': function(test) {
test.expect(1);
var expected, actual;
expected = 'test/expected/test.processed.expected.html';
actual = 'tmp/test.processed.html';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'preprocess js': function(test) {
test.expect(1);
var expected, actual;
expected = 'test/expected/test.processed.expected.js';
actual = 'tmp/test.processed.js';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'preprocess coffee': function(test) {
test.expect(1);
var expected, actual;
expected = 'test/expected/test.processed.expected.coffee';
actual = 'tmp/test.processed.coffee';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'preprocess custom extensions and custom srcDir options': function(test) {
test.expect(1);
var expected, actual;
expected = 'test/expected/test.processed.expected.coffee';
actual = 'tmp/test.processed.coffee.customext';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'preprocess files with fileNotFoundSilentFail option': function(test) {
test.expect(1);
var expected, actual;
expected = 'test/expected/test.processed.legacy.notfound.expected.coffee';
actual = 'tmp/test.processed.legacy.notfound.coffee';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'preprocess files with srcEol option': function(test) {
test.expect(1);
var expected, actual;
expected = 'test/expected/test.processed.custom.eol.expected.coffee';
actual = 'tmp/test.processed.custom.eol.coffee';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'preprocess multifile': function(test) {
test.expect(2);
var expected, actual;
expected = 'test/expected/test.processed.expected.js';
actual = 'tmp/multifile.test.processed.js';
test.equal(read(expected), read(actual), actual + ' differs');
expected = 'test/expected/test.processed.expected.coffee';
actual = 'tmp/multifile.test.processed.coffee';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'inline': function(test) {
test.expect(2);
var expected, actual;
expected = 'tmp/test-inline-expected.js';
actual = 'tmp/inline-temp/test.js';
test.equal(read(expected), read(actual), actual + ' differs');
expected = 'tmp/test2-inline-expected.js';
actual = 'tmp/inline-temp/test2.js';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
},
'context precedence': function(test) {
test.expect(2);
var expected, actual;
expected = 'test/expected/test.context-precedence.expected-1.js';
actual = 'tmp/context-precedence-result-1.js';
test.equal(read(expected), read(actual), actual + ' differs');
expected = 'test/expected/test.context-precedence.expected-2.js';
actual = 'tmp/context-precedence-result-2.js';
test.equal(read(expected), read(actual), actual + ' differs');
test.done();
}
};
;