mirror of
https://github.com/nodejs/node.git
synced 2025-05-07 06:31:11 +00:00

ESLint 4.x has stricter linting than previous versions. We are currently using the legacy indentation rules in the test directory. This commit changes the indentation of files to comply with the stricter 4.x linting and enable stricter linting in the test directory. PR-URL: https://github.com/nodejs/node/pull/14431 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
if (!common.hasIntl) {
|
|
// A handful of the tests fail when ICU is not included.
|
|
common.skip('missing Intl');
|
|
}
|
|
|
|
const URL = require('url').URL;
|
|
const path = require('path');
|
|
const assert = require('assert');
|
|
|
|
// Tests below are not from WPT.
|
|
const tests = require(path.join(common.fixturesDir, 'url-tests'));
|
|
const failureTests = tests.filter((test) => test.failure).concat([
|
|
{ input: '' },
|
|
{ input: 'test' },
|
|
{ input: undefined },
|
|
{ input: 0 },
|
|
{ input: true },
|
|
{ input: false },
|
|
{ input: null },
|
|
{ input: new Date() },
|
|
{ input: new RegExp() },
|
|
{ input: () => {} }
|
|
]);
|
|
|
|
const expectedError = common.expectsError(
|
|
{ code: 'ERR_INVALID_URL', type: TypeError }, 102);
|
|
|
|
for (const test of failureTests) {
|
|
assert.throws(
|
|
() => new URL(test.input, test.base),
|
|
(error) => {
|
|
if (!expectedError(error))
|
|
return false;
|
|
|
|
// The input could be processed, so we don't do strict matching here
|
|
const match = (error + '').match(/Invalid URL: (.*)$/);
|
|
if (!match) {
|
|
return false;
|
|
}
|
|
return error.input === match[1];
|
|
});
|
|
}
|
|
|
|
const additional_tests = require(
|
|
path.join(common.fixturesDir, 'url-tests-additional.js'));
|
|
|
|
for (const test of additional_tests) {
|
|
const url = new URL(test.url);
|
|
if (test.href) assert.strictEqual(url.href, test.href);
|
|
if (test.origin) assert.strictEqual(url.origin, test.origin);
|
|
if (test.protocol) assert.strictEqual(url.protocol, test.protocol);
|
|
if (test.username) assert.strictEqual(url.username, test.username);
|
|
if (test.password) assert.strictEqual(url.password, test.password);
|
|
if (test.hostname) assert.strictEqual(url.hostname, test.hostname);
|
|
if (test.host) assert.strictEqual(url.host, test.host);
|
|
if (test.port !== undefined) assert.strictEqual(url.port, test.port);
|
|
if (test.pathname) assert.strictEqual(url.pathname, test.pathname);
|
|
if (test.search) assert.strictEqual(url.search, test.search);
|
|
if (test.hash) assert.strictEqual(url.hash, test.hash);
|
|
}
|