mirror of https://github.com/lukechilds/node.git
Browse Source
Enable encoding option on fs.createWriteStream. PR-URL: https://github.com/nodejs/io.js/pull/1844 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>v2.3.1-release
3 changed files with 37 additions and 1 deletions
@ -0,0 +1,32 @@ |
|||
'use strict'; |
|||
const common = require('../common'); |
|||
const assert = require('assert'); |
|||
const fs = require('fs'); |
|||
const path = require('path'); |
|||
const stream = require('stream'); |
|||
const firstEncoding = 'base64'; |
|||
const secondEncoding = 'binary'; |
|||
|
|||
const examplePath = path.join(common.fixturesDir, 'x.txt'); |
|||
const dummyPath = path.join(common.tmpDir, 'x.txt'); |
|||
|
|||
const exampleReadStream = fs.createReadStream(examplePath, { |
|||
encoding: firstEncoding |
|||
}); |
|||
|
|||
const dummyWriteStream = fs.createWriteStream(dummyPath, { |
|||
encoding: firstEncoding |
|||
}); |
|||
|
|||
exampleReadStream.pipe(dummyWriteStream).on('finish', function() { |
|||
const assertWriteStream = new stream.Writable({ |
|||
write: function(chunk, enc, next) { |
|||
const expected = new Buffer('xyz\n'); |
|||
assert(chunk.equals(expected)); |
|||
} |
|||
}); |
|||
assertWriteStream.setDefaultEncoding(secondEncoding); |
|||
fs.createReadStream(dummyPath, { |
|||
encoding: secondEncoding |
|||
}).pipe(assertWriteStream); |
|||
}); |
Loading…
Reference in new issue