summaryrefslogtreecommitdiffstats
path: root/web_src/js/webcomponents/origin-url.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'web_src/js/webcomponents/origin-url.test.js')
-rw-r--r--web_src/js/webcomponents/origin-url.test.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/web_src/js/webcomponents/origin-url.test.js b/web_src/js/webcomponents/origin-url.test.js
new file mode 100644
index 0000000..3b2ab89
--- /dev/null
+++ b/web_src/js/webcomponents/origin-url.test.js
@@ -0,0 +1,17 @@
+import {toOriginUrl} from './origin-url.js';
+
+test('toOriginUrl', () => {
+ const oldLocation = window.location;
+ for (const origin of ['https://example.com', 'https://example.com:3000']) {
+ window.location = new URL(`${origin}/`);
+ expect(toOriginUrl('/')).toEqual(`${origin}/`);
+ expect(toOriginUrl('/org/repo.git')).toEqual(`${origin}/org/repo.git`);
+ expect(toOriginUrl('https://another.com')).toEqual(`${origin}/`);
+ expect(toOriginUrl('https://another.com/')).toEqual(`${origin}/`);
+ expect(toOriginUrl('https://another.com/org/repo.git')).toEqual(`${origin}/org/repo.git`);
+ expect(toOriginUrl('https://another.com:4000')).toEqual(`${origin}/`);
+ expect(toOriginUrl('https://another.com:4000/')).toEqual(`${origin}/`);
+ expect(toOriginUrl('https://another.com:4000/org/repo.git')).toEqual(`${origin}/org/repo.git`);
+ }
+ window.location = oldLocation;
+});