File size: 1,314 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#!/usr/bin/env node
var fs = require("fs"),
queue = require("d3-queue").queue,
rw = require("../");
var code = 0;
queue(1)
.defer(testRead, "utf8", "gréén\n")
.defer(testRead, {encoding: "utf8"}, "gréén\n")
.defer(testRead, "ascii", "grC)C)n\n")
.defer(testRead, {encoding: "ascii"}, "grC)C)n\n")
.defer(testWrite, "utf8", "gréén\n")
.defer(testWrite, {encoding: "utf8"}, "gréén\n")
.defer(testWrite, "ascii", "gr��n\n")
.defer(testWrite, {encoding: "ascii"}, "gr��n\n")
.await(done);
function testRead(options, expected, callback) {
rw.readFile("test/utf8.txt", options, function(error, actual) {
if (error) return void callback(error);
if (actual !== expected) console.warn(actual + " !== " + expected), code = 1;
callback(null);
});
}
function testWrite(options, expected, callback) {
rw.writeFile("test/encoding-async.out", "gréén\n", options, function(error) {
if (error) return void callback(error);
fs.readFile("test/encoding-async.out", "utf8", function(error, actual) {
if (error) return void callback(error);
if (actual !== expected) console.warn(actual + " !== " + expected), code = 1;
callback(null);
});
});
}
function done(error) {
if (error) throw error;
process.exit(code);
}
|