'use strict'; const common = require('../common.js'); const url = require('url'); const hrefs = common.urls; hrefs.noscheme = 'some.ran/dom/url.thing?oh=yes#whoo'; const paths = { 'up': '../../../../../etc/passwd', 'sibling': '../foo/bar?baz=boom', 'foo/bar': 'foo/bar', 'withscheme': 'http://nodejs.org', 'down': './foo/bar?baz' }; const bench = common.createBenchmark(main, { href: Object.keys(hrefs), path: Object.keys(paths), n: [1e5] }); function main({ n, href, path }) { const h = hrefs[href]; const p = paths[path]; bench.start(); for (let i = 0; i < n; i += 1) url.resolve(h, p); bench.end(n); }