Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/__test__
diff options
context:
space:
mode:
Diffstat (limited to '__test__')
-rw-r--r--__test__/url-helper.test.ts55
1 files changed, 55 insertions, 0 deletions
diff --git a/__test__/url-helper.test.ts b/__test__/url-helper.test.ts
new file mode 100644
index 0000000..27f6606
--- /dev/null
+++ b/__test__/url-helper.test.ts
@@ -0,0 +1,55 @@
+import * as urlHelper from '../src/url-helper'
+
+describe('getServerUrl tests', () => {
+ it('basics', async () => {
+ // Note that URL::toString will append a trailing / when passed just a domain name ...
+ expect(urlHelper.getServerUrl().toString()).toBe('https://github.com/')
+ expect(urlHelper.getServerUrl(' ').toString()).toBe('https://github.com/')
+ expect(urlHelper.getServerUrl(' ').toString()).toBe('https://github.com/')
+ expect(urlHelper.getServerUrl('http://contoso.com').toString()).toBe(
+ 'http://contoso.com/'
+ )
+ expect(urlHelper.getServerUrl('https://contoso.com').toString()).toBe(
+ 'https://contoso.com/'
+ )
+ expect(urlHelper.getServerUrl('https://contoso.com/').toString()).toBe(
+ 'https://contoso.com/'
+ )
+
+ // ... but can't make that same assumption when passed an URL that includes some deeper path.
+ expect(urlHelper.getServerUrl('https://contoso.com/a/b').toString()).toBe(
+ 'https://contoso.com/a/b'
+ )
+ })
+})
+
+describe('isGhes tests', () => {
+ it('basics', async () => {
+ expect(urlHelper.isGhes()).toBeFalsy()
+ expect(urlHelper.isGhes('https://github.com')).toBeFalsy()
+ expect(urlHelper.isGhes('https://contoso.ghe.com')).toBeFalsy()
+ expect(urlHelper.isGhes('https://test.github.localhost')).toBeFalsy()
+ expect(urlHelper.isGhes('https://src.onpremise.fabrikam.com')).toBeTruthy()
+ })
+})
+
+describe('getServerApiUrl tests', () => {
+ it('basics', async () => {
+ expect(urlHelper.getServerApiUrl()).toBe('https://api.github.com')
+ expect(urlHelper.getServerApiUrl('https://github.com')).toBe(
+ 'https://api.github.com'
+ )
+ expect(urlHelper.getServerApiUrl('https://GitHub.com')).toBe(
+ 'https://api.github.com'
+ )
+ expect(urlHelper.getServerApiUrl('https://contoso.ghe.com')).toBe(
+ 'https://api.contoso.ghe.com'
+ )
+ expect(urlHelper.getServerApiUrl('https://fabrikam.GHE.COM')).toBe(
+ 'https://api.fabrikam.ghe.com'
+ )
+ expect(
+ urlHelper.getServerApiUrl('https://src.onpremise.fabrikam.com')
+ ).toBe('https://src.onpremise.fabrikam.com/api/v3')
+ })
+})