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>
This commit is contained in:
Roman Reiss 2015-08-29 09:41:27 +02:00
Родитель 4c5fc3b1d4
Коммит 83c2c3b676
2 изменённых файлов: 20 добавлений и 14 удалений

Просмотреть файл

@ -2,6 +2,5 @@ lib/punycode.js
test/addons/doc-*/
test/fixtures
test/**/node_modules
test/parallel/test-fs-non-number-arguments-throw.js
test/disabled
test/tmp*/

Просмотреть файл

@ -1,24 +1,31 @@
var assert = require('assert'),
fs = require('fs'),
saneEmitter,
sanity = 'ire(\'assert\')';
'use strict';
saneEmitter = fs.createReadStream(__filename, { start: 17, end: 29 });
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');
assert.throws(function () {
fs.createReadStream(__filename, { start: "17", end: 29 });
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(__filename, { start: 17, end: "29" });
assert.throws(function() {
fs.createReadStream(tempFile, { start: 4, end: '6' });
}, "end as string didn't throw an error");
assert.throws(function () {
fs.createWriteStream(__filename, { start: "17" });
assert.throws(function() {
fs.createWriteStream(tempFile, { start: '4' });
}, "start as string didn't throw an error for createWriteStream");
saneEmitter.on('data', function (data) {
// a sanity check when using numbers instead of strings
saneEmitter.on('data', function(data) {
assert.strictEqual(sanity, data.toString('utf8'), 'read ' +
data.toString('utf8') + ' instead of ' + sanity);
});