UNPKG

1.33 kBJavaScriptView Raw
1var grunt = require('grunt')
2 , lf = grunt.util.linefeed
3 , path = require('path')
4 , fs = require('fs')
5 , assert = require('assert')
6 , testDir = path.join(process.cwd(), 'test')
7 , opts = { gruntfile: path.join(testDir, 'Gruntfile.js') }
8 , tasks = [
9 'exec:test1'
10 , 'exec:test2'
11 , 'exec:test3:42:love'
12 , 'exec:test4'
13 , 'exec:test5'
14 , 'exec:test6'
15 , 'exec:test7'
16 , 'exec:test8'
17 , 'exec:test9'
18 , 'exec:test10'
19 ];
20
21grunt.tasks(tasks, opts, function() {
22 var tests = [
23 { name: 'test1', expected: 'bruce willis was dead' + lf }
24 , { name: 'test2' , expected: 'grunt@' + grunt.version + lf }
25 , {
26 name: 'test3'
27 , expected: [
28 'the answer to life is 42', 'thoughts on tacos? love'
29 ].join(', ') + lf
30 }
31 , {
32 name: 'test4'
33 , expected:'you can use callback, and error, stdout, stderr can be' +
34 ' used as arguments' + lf
35 }
36 , { name: 'test7', expected: 'you do not even need an object' + lf }
37 ]
38 , outputPath;
39
40 tests.forEach(function(test) {
41 outputPath = path.join(testDir, test.name);
42 assert.equal(fs.readFileSync(outputPath, 'utf8'), test.expected);
43
44 // clean up
45 fs.unlinkSync(outputPath);
46
47 grunt.log.ok(test.name +' passed');
48 });
49});