|
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