From fe89caba2ee6304d62450fad79ab709f70fa755e Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Thu, 10 Jun 2010 14:59:06 -0700 Subject: [PATCH] Improve fs.write tests --- test/simple/test-fs-write-sync.js | 18 +++++++++++------- test/simple/test-fs-write.js | 5 +++-- test/simple/test-stdin-from-file.js | 25 +++++++++++++++---------- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/test/simple/test-fs-write-sync.js b/test/simple/test-fs-write-sync.js index 2e30cc704..27dea4af7 100644 --- a/test/simple/test-fs-write-sync.js +++ b/test/simple/test-fs-write-sync.js @@ -1,12 +1,16 @@ require('../common'); -var path = require('path') - , Buffer = require('buffer').Buffer - , fs = require('fs') - , fn = path.join(fixturesDir, 'write.txt'); +path = require('path'), +Buffer = require('buffer').Buffer +fs = require('fs') +fn = path.join(fixturesDir, 'write.txt'); + +foo = 'foo' var fd = fs.openSync(fn, 'w'); -fs.writeSync(fd, 'foo'); -fs.writeSync(fd, new Buffer('bar'), 0, 3); +fs.writeSync(fd, foo); + +bar = 'bár' +fs.writeSync(fd, new Buffer(bar), 0, Buffer.byteLength(bar)); fs.closeSync(fd); -assert.equal(fs.readFileSync(fn), 'foobar'); \ No newline at end of file +assert.equal(fs.readFileSync(fn), 'foobár'); diff --git a/test/simple/test-fs-write.js b/test/simple/test-fs-write.js index 8290d9a08..24a8b8cf6 100644 --- a/test/simple/test-fs-write.js +++ b/test/simple/test-fs-write.js @@ -1,8 +1,9 @@ require("../common"); var path = require('path'); +var Buffer = require('buffer').Buffer; var fs = require('fs'); var fn = path.join(fixturesDir, "write.txt"); -var expected = "hello"; +var expected = "ümlaut."; var found; fs.open(fn, 'w', 0644, function (err, fd) { @@ -11,7 +12,7 @@ fs.open(fn, 'w', 0644, function (err, fd) { fs.write(fd, expected, 0, "utf8", function (err, written) { puts('write done'); if (err) throw err; - assert.equal(expected.length, written); + assert.equal(Buffer.byteLength(expected), written); fs.closeSync(fd); found = fs.readFileSync(fn, 'utf8'); puts('expected: ' + expected.toJSON()); diff --git a/test/simple/test-stdin-from-file.js b/test/simple/test-stdin-from-file.js index 3167adfd6..0c7e8f7a8 100644 --- a/test/simple/test-stdin-from-file.js +++ b/test/simple/test-stdin-from-file.js @@ -1,12 +1,17 @@ require('../common'); -var TEST_STR = "abc\n123\nhello world\nsomething else" - , path = require('path') - , childProccess = require('child_process') - , fs = require('fs') - , stdoutScript = path.join(fixturesDir, 'echo.js') - , tmpFile = path.join(fixturesDir, 'stdin.txt') - , cmd = process.argv[0] + ' ' + stdoutScript + ' < ' + tmpFile - ; + +join = require('path').join; +childProccess = require('child_process'); +fs = require('fs'); + +stdoutScript = join(fixturesDir, 'echo.js'); +tmpFile = join(fixturesDir, 'stdin.txt'); + +cmd = process.argv[0] + ' ' + stdoutScript + ' < ' + tmpFile; + +string = "abc\nümlaut.\nsomething else\n" + + "南越国是前203年至前111年存在于岭南地区的一个国家,国都位于番禺,疆域包括今天中国的广东、广西两省区的大部份地区,福建省、湖南、贵州、云南的一小部份地区和越南的北部。南越国是秦朝灭亡后,由南海郡尉赵佗于前203年起兵兼并桂林郡和象郡后建立。前196年和前179年,南越国曾先后两次名义上臣属于西汉,成为西汉的“外臣”。前112年,南越国末代君主赵建德与西汉发生战争,被汉武帝于前111年所灭。南越国共存在93年,历经五代君主。南越国是岭南地区的第一个有记载的政权国家,采用封建制和郡县制并存的制度,它的建立保证了秦末乱世岭南地区社会秩序的稳定,有效的改善了岭南地区落后的政治、##济现状。\n"; + puts(cmd + "\n\n"); @@ -14,13 +19,13 @@ try { fs.unlinkSync(tmpFile); } catch (e) {} -fs.writeFileSync(tmpFile, TEST_STR); +fs.writeFileSync(tmpFile, string); childProccess.exec(cmd, function(err, stdout, stderr) { fs.unlinkSync(tmpFile); if (err) throw err; puts(stdout); - assert.equal(stdout, "hello world\r\n" + TEST_STR); + assert.equal(stdout, "hello world\r\n" + string); assert.equal("", stderr); }); -- 2.34.1