|
1 | 1 | /* eslint-disable max-len */
|
2 | 2 | 'use strict';
|
3 | 3 | require('../common');
|
4 |
| -var assert = require('assert'); |
| 4 | +const assert = require('assert'); |
| 5 | +const inspect = require('util').inspect; |
5 | 6 |
|
6 |
| -var url = require('url'); |
| 7 | +const url = require('url'); |
7 | 8 |
|
8 | 9 | // URLs to parse, and expected data
|
9 | 10 | // { url : parsed }
|
@@ -881,8 +882,16 @@ for (const u in parseTests) {
|
881 | 882 | }
|
882 | 883 | });
|
883 | 884 |
|
884 |
| - assert.deepStrictEqual(actual, expected); |
885 |
| - assert.deepStrictEqual(spaced, expected); |
| 885 | + assert.deepStrictEqual( |
| 886 | + actual, |
| 887 | + expected, |
| 888 | + `expected ${inspect(expected)}, got ${inspect(actual)}` |
| 889 | + ); |
| 890 | + assert.deepStrictEqual( |
| 891 | + spaced, |
| 892 | + expected, |
| 893 | + `expected ${inspect(expected)}, got ${inspect(spaced)}` |
| 894 | + ); |
886 | 895 |
|
887 | 896 | expected = parseTests[u].href;
|
888 | 897 | actual = url.format(parseTests[u]);
|
@@ -1165,20 +1174,28 @@ var formatTests = {
|
1165 | 1174 | hash: '#frag',
|
1166 | 1175 | search: '?abc=the#1?&foo=bar',
|
1167 | 1176 | pathname: '/fooA100%mBr',
|
| 1177 | + }, |
| 1178 | + |
| 1179 | + // https://github.com/nodejs/node/issues/3361 |
| 1180 | + 'file:///home/user': { |
| 1181 | + href: 'file:///home/user', |
| 1182 | + protocol: 'file', |
| 1183 | + pathname: '/home/user', |
| 1184 | + path: '/home/user' |
1168 | 1185 | }
|
1169 | 1186 | };
|
1170 | 1187 | for (const u in formatTests) {
|
1171 | 1188 | const expect = formatTests[u].href;
|
1172 | 1189 | delete formatTests[u].href;
|
1173 | 1190 | const actual = url.format(u);
|
1174 | 1191 | const actualObj = url.format(formatTests[u]);
|
1175 |
| - assert.equal(actual, expect, |
1176 |
| - 'wonky format(' + u + ') == ' + expect + |
1177 |
| - '\nactual:' + actual); |
1178 |
| - assert.equal(actualObj, expect, |
1179 |
| - 'wonky format(' + JSON.stringify(formatTests[u]) + |
1180 |
| - ') == ' + expect + |
1181 |
| - '\nactual: ' + actualObj); |
| 1192 | + assert.strictEqual(actual, expect, |
| 1193 | + 'wonky format(' + u + ') == ' + expect + |
| 1194 | + '\nactual:' + actual); |
| 1195 | + assert.strictEqual(actualObj, expect, |
| 1196 | + 'wonky format(' + JSON.stringify(formatTests[u]) + |
| 1197 | + ') == ' + expect + |
| 1198 | + '\nactual: ' + actualObj); |
1182 | 1199 | }
|
1183 | 1200 |
|
1184 | 1201 | /*
|
@@ -1556,7 +1573,7 @@ var relativeTests2 = [
|
1556 | 1573 | ];
|
1557 | 1574 | relativeTests2.forEach(function(relativeTest) {
|
1558 | 1575 | const a = url.resolve(relativeTest[1], relativeTest[0]);
|
1559 |
| - const e = relativeTest[2]; |
| 1576 | + const e = url.format(relativeTest[2]); |
1560 | 1577 | assert.equal(a, e,
|
1561 | 1578 | 'resolve(' + [relativeTest[1], relativeTest[0]] + ') == ' + e +
|
1562 | 1579 | '\n actual=' + a);
|
@@ -1598,9 +1615,13 @@ relativeTests2.forEach(function(relativeTest) {
|
1598 | 1615 | var actual = url.resolveObject(url.parse(relativeTest[1]), relativeTest[0]);
|
1599 | 1616 | var expected = url.parse(relativeTest[2]);
|
1600 | 1617 |
|
1601 |
| - assert.deepStrictEqual(actual, expected); |
| 1618 | + assert.deepStrictEqual( |
| 1619 | + actual, |
| 1620 | + expected, |
| 1621 | + `expected ${inspect(expected)} but got ${inspect(actual)}` |
| 1622 | + ); |
1602 | 1623 |
|
1603 |
| - expected = relativeTest[2]; |
| 1624 | + expected = url.format(relativeTest[2]); |
1604 | 1625 | actual = url.format(actual);
|
1605 | 1626 |
|
1606 | 1627 | assert.equal(actual, expected,
|
|
0 commit comments