This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Fix fs.WriteStream.end(data, [encoding]) throws TypeError

  • Loading branch information...
1 parent 4ab5476 commit 4e7c37b87c0ea62aa419bc4b512ccf0f9511b8f5 @koichik koichik committed with ry Mar 1, 2011
Showing with 34 additions and 1 deletion.
  1. +9 −1 lib/fs.js
  2. +25 −0 test/simple/test-fs-write-stream-end.js
View
@@ -1052,7 +1052,15 @@ WriteStream.prototype.write = function(data) {
return false;
};
-WriteStream.prototype.end = function(cb) {
+WriteStream.prototype.end = function(data, encoding, cb) {
+ if (typeof(data) === 'function') {
+ cb = data;
+ } else if (typeof(encoding) === 'function') {
+ cb = encoding;
+ this.write(data);
+ } else if (arguments.length > 0) {
+ this.write(data, encoding);
+ }
this.writable = false;
this._queue.push([fs.close, cb]);
this.flush();
@@ -0,0 +1,25 @@
+var common = require('../common');
+var assert = require('assert');
+
+var path = require('path'),
+ fs = require('fs');
+
+var writeEndOk = false;
+(function() {
+ debugger;
+ var file = path.join(common.tmpDir, 'write-end-test.txt');
+ var stream = fs.createWriteStream(file);
+
+ stream.end('a\n', 'utf8', function() {
+ var content = fs.readFileSync(file, 'utf8');
+ assert.equal(content, 'a\n');
+ writeEndOk = true;
+ });
+
+})();
+
+
+process.on('exit', function() {
+ assert.ok(writeEndOk);
+});
+

0 comments on commit 4e7c37b

Please sign in to comment.