From 814c718c4138e938931595efbc07297dbc4d7255 Mon Sep 17 00:00:00 2001 From: Bauke Date: Thu, 13 Oct 2022 00:21:46 +0200 Subject: [PATCH] Add Redirect.isMatch tests. --- tests/redirect.test.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/redirect.test.ts b/tests/redirect.test.ts index c1a108e..63497ff 100644 --- a/tests/redirect.test.ts +++ b/tests/redirect.test.ts @@ -57,3 +57,35 @@ test('Redirect.redirect', (t) => { ); } }); + +test('Redirect.isMatch', (t) => { + type UrlSamples = Array<[string, boolean]>; + + const hostnameRedirect = new HostnameRedirect({ + hostname: 'example.org', + matchType: 'hostname', + toMatch: 'example.com', + type: 'hostname', + }); + + const hostnameSamples: UrlSamples = [ + ['https://example.com', true], + ['https://www.example.com', false], + ['https://example.org', false], + ]; + + const invalidRedirect = new HostnameRedirect({ + test: 'invalid', + } as unknown as Redirects['parameters']); + + const samples: Array<[Redirects, UrlSamples]> = [ + [invalidRedirect, [['https://example.org', false]]], + [hostnameRedirect, hostnameSamples], + ]; + + for (const [redirect, urlSamples] of samples) { + for (const [sample, expected] of urlSamples) { + t.is(redirect.isMatch(new URL(sample)), expected); + } + } +});