test.js 906 B

12345678910111213141516171819202122232425262728293031
  1. var grunt = require('grunt')
  2. , path = require('path')
  3. , fs = require('fs')
  4. , assert = require('assert')
  5. , testDir = path.join(process.cwd(), 'test')
  6. , opts = { gruntfile: path.join(testDir, 'Gruntfile.js') }
  7. , tasks = ['exec:test1', 'exec:test2', 'exec:test3:42:love'];
  8. grunt.tasks(tasks, opts, function() {
  9. var tests = [
  10. { name: 'test1', expected: 'bruce willis was dead\n' }
  11. , { name: 'test2' , expected: 'grunt@' + grunt.version + '\n' }
  12. , {
  13. name: 'test3'
  14. , expected: [
  15. 'the answer to life is 42', 'thoughts on tacos? love', ''
  16. ].join('\n')
  17. }
  18. ]
  19. , outputPath;
  20. tests.forEach(function(test) {
  21. outputPath = path.join(testDir, test.name);
  22. assert.equal(fs.readFileSync(outputPath, 'utf8'), test.expected);
  23. // clean up
  24. fs.unlinkSync(outputPath);
  25. grunt.log.ok(test.name +' passed');
  26. });
  27. });