0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/test/parallel/test-fs-non-number-arguments-throw.js
Roman Reiss 83c2c3b676 test: lint and refactor to avoid autocrlf issue
The test was failing after adding 'use strict' because the windows CI
uses the autocrlf option of git which converts \r into \r\n on checkout.

Refactored the test to not read itself anymore and create a temp file on
the fly instead to avoid this line-ending issue.

PR-URL: https://github.com/nodejs/node/pull/2494
Reviewed-By: Joao Reis <reis@janeasystems.com>
2015-08-29 20:00:10 +02:00

32 lines
1.0 KiB
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const fs = require('fs');
const path = require('path');
const tempFile = path.join(common.tmpDir, 'fs-non-number-arguments-throw');
common.refreshTmpDir();
fs.writeFileSync(tempFile, 'abc\ndef');
// a sanity check when using numbers instead of strings
const sanity = 'def';
const saneEmitter = fs.createReadStream(tempFile, { start: 4, end: 6 });
assert.throws(function() {
fs.createReadStream(tempFile, { start: '4', end: 6 });
}, "start as string didn't throw an error for createReadStream");
assert.throws(function() {
fs.createReadStream(tempFile, { start: 4, end: '6' });
}, "end as string didn't throw an error");
assert.throws(function() {
fs.createWriteStream(tempFile, { start: '4' });
}, "start as string didn't throw an error for createWriteStream");
saneEmitter.on('data', function(data) {
assert.strictEqual(sanity, data.toString('utf8'), 'read ' +
data.toString('utf8') + ' instead of ' + sanity);
});