run.js 857 B

1234567891011121314151617181920212223242526272829303132333435
  1. var JStream = require('..');
  2. var assert = require('assert');
  3. var fs = require('fs');
  4. /**
  5. * Tests that a `file` emits `expected` results given a `path`.
  6. *
  7. * @param (String) description
  8. * @param (String) file
  9. * @param (Array.Object) expected
  10. * @param (Array.Object) path
  11. */
  12. module.exports = function runTest(description, file, expected, path) {
  13. describe(description, function() {
  14. it('JStream emits expected Javascript objects', function(done) {
  15. var rs = fs.createReadStream(file);
  16. var jstream = new JStream(path);
  17. rs.pipe(jstream);
  18. var dataEmitted = false;
  19. var n = 0;
  20. jstream.on('data', function(obj) {
  21. dataEmitted = true;
  22. assert.deepEqual(obj, expected[n++]);
  23. });
  24. jstream.on('end', function() {
  25. assert.ok(dataEmitted);
  26. done();
  27. });
  28. });
  29. });
  30. };