| 'use strict' |
| |
| const test = require('tape') |
| const fastURI = require('..') |
| |
| test('parse preserves reserved path escapes as data', (t) => { |
| const components = fastURI.parse('http://example.com/a%2Fb/public/%2e%2e/admin') |
| |
| t.equal(components.path, '/a%2Fb/public/%2E%2E/admin') |
| t.end() |
| }) |
| |
| test('normalize preserves percent-encoded path separators and dot segments', (t) => { |
| t.equal( |
| fastURI.normalize('http://example.com/public/%2e%2e/admin'), |
| 'http://example.com/public/%2E%2E/admin' |
| ) |
| |
| t.equal( |
| fastURI.normalize('http://example.com/a%2Fb'), |
| 'http://example.com/a%2Fb' |
| ) |
| |
| t.end() |
| }) |
| |
| test('equal does not treat reserved path escapes as live path syntax', (t) => { |
| t.equal( |
| fastURI.equal('http://example.com/public/%2e%2e/admin', 'http://example.com/admin', {}), |
| false |
| ) |
| |
| t.equal( |
| fastURI.equal('http://example.com/a%2Fb', 'http://example.com/a/b', {}), |
| false |
| ) |
| |
| t.end() |
| }) |