| 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() | |
| }) | |