17337: Added unit tests and directory names with non trivial names
[arvados-workbench2.git] / src / common / url.ts
index 6223485eabee6908fa363ea94e7345c1c54d7822..185737cac331d2a6a5eece01e8f99f293f76c230 100644 (file)
@@ -18,9 +18,18 @@ export function normalizeURLPath(url: string) {
     return u.toString();
 }
 
-export const escapeHashIfRequired = (name: string, defaultTransformation?: Function) =>
-    name.indexOf('#') > -1 ?
-        encodeURIComponent(name) :
-        defaultTransformation ?
-            defaultTransformation(name) :
-            name;
\ No newline at end of file
+export const customEncodeURI = (path: string) => {
+    try {
+        return path.split('/').map(encodeURIComponent).join('/');
+    } catch(e) {}
+
+    return path;
+};
+
+export const customDecodeURI = (path: string) => {
+    try {
+        return path.split('%2F').map(decodeURIComponent).join('%2F');
+    } catch(e) {}
+
+    return path;
+};