| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
var stream = require('../lib/lazystream');var fs = require('fs');var tmpDir = 'test/tmp/';var readFile = 'test/data.md';var writeFile = tmpDir + 'data.md';exports.fs = {  readwrite: function(test) {    var readfd, writefd;    var readable = new stream.Readable(function() {       return fs.createReadStream(readFile)        .on('open', function(fd) {          readfd = fd;        })        .on('close', function() {           readfd = undefined;           step();        });    });    var writable = new stream.Writable(function() {      return fs.createWriteStream(writeFile)        .on('open', function(fd) {          writefd = fd;        })        .on('close', function() {          writefd = undefined;           step();        });    });    test.expect(3);    test.equal(readfd, undefined, 'Input file should not be opened until read');    test.equal(writefd, undefined, 'Output file should not be opened until write');    if (!fs.existsSync(tmpDir)) {      fs.mkdirSync(tmpDir);    }    if (fs.existsSync(writeFile)) {      fs.unlinkSync(writeFile);    }    readable.on('end', function() { step(); });    writable.on('end', function() { step(); });    var steps = 0;    function step() {      steps += 1;      if (steps == 4) {        var input = fs.readFileSync(readFile);        var output = fs.readFileSync(writeFile);        test.ok(input >= output && input <= output, 'Should be equal');        fs.unlinkSync(writeFile);        fs.rmdirSync(tmpDir);        test.done();      }    };    readable.pipe(writable);  }};
 |