//
// SPDX-License-Identifier: AGPL-3.0
-import { customDecodeURI, customEncodeURI, encodeHash } from './url';
+import { customDecodeURI, customEncodeURI } from './url';
describe('url', () => {
- describe('encodeHash', () => {
- it('should ignore path without hash', () => {
+ describe('customDecodeURI', () => {
+ it('should decode encoded URI', () => {
// given
- const path = 'path/without/hash';
+ const path = 'test%23test%2Ftest';
+ const expectedResult = 'test#test%2Ftest';
// when
- const result = encodeHash(path);
+ const result = customDecodeURI(path);
// then
- expect(result).toEqual(path);
+ expect(result).toEqual(expectedResult);
});
- it('should replace all hashes within the path', () => {
+ it('ignores non parsable URI and return its original form', () => {
// given
- const path = 'path/with/hash # and one more #';
- const expectedResult = 'path/with/hash %23 and one more %23';
+ const path = 'test/path/with%wrong/sign';
// when
- const result = encodeHash(path);
+ const result = customDecodeURI(path);
// then
- expect(result).toEqual(expectedResult);
+ expect(result).toEqual(path);
});
});
describe('customEncodeURI', () => {
- it('should decode', () => {
+ it('should encode URI', () => {
// given
- const path = 'test%23test%2Ftest';
- const expectedResult = 'test#test/test';
+ const path = 'test#test/test';
+ const expectedResult = 'test%23test/test';
// when
- const result = customDecodeURI(path);
+ const result = customEncodeURI(path);
// then
expect(result).toEqual(expectedResult);
});
- });
- describe('customEncodeURI', () => {
- it('should encode', () => {
+ it('ignores non encodable URI and return its original form', () => {
// given
- const path = 'test#test/test';
- const expectedResult = 'test%23test/test';
+ const path = 22;
// when
- const result = customEncodeURI(path);
+ const result = customEncodeURI(path as any);
// then
- expect(result).toEqual(expectedResult);
+ expect(result).toEqual(path);
});
});
});
\ No newline at end of file