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