This repository was archived by the owner on Jan 19, 2023. It is now read-only.
forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestServiceWorkerRoutes.spec.ts
44 lines (37 loc) · 1.7 KB
/
testServiceWorkerRoutes.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { getSwNavigationUrlChecker, loadLegacyUrls, loadLocalSitemapUrls } from '../shared/helpers';
describe('ServiceWorker navigation URLs', () => {
const isNavigationUrl = getSwNavigationUrlChecker();
loadLocalSitemapUrls().forEach(url => {
it('should treat URLs in the Sitemap as navigation URLs', () => {
expect(isNavigationUrl(url)).toBeTruthy(url);
});
});
loadLegacyUrls().forEach(urlPair => {
const url = urlPair[0];
it('should treat legacy URLs that will be redirected as non-navigation URLs', () => {
expect(isNavigationUrl(url)).toBeFalsy(url);
});
});
it('should treat StackBlitz URLs as non-navigation URLs', () => {
expect(isNavigationUrl('/generated/live-examples/toh-pt6/stackblitz.html')).toBeFalsy();
expect(isNavigationUrl('/generated/live-examples/toh-pt6/stackblitz')).toBeFalsy();
});
it('should treat URLs to files with extensions as non-navigation URLs', () => {
expect(isNavigationUrl('/generated/zips/animations/animations.zip')).toBeFalsy();
expect(isNavigationUrl('/generated/images/guide/animations/animation_auto.gif')).toBeFalsy();
expect(isNavigationUrl('/generated/ngsw-worker.js')).toBeFalsy();
expect(isNavigationUrl('/generated/docs/guide/animations.json')).toBeFalsy();
});
it('should treat `/docs/*` URLs correctly', () => {
const navigationUrls = ['/docs', '/docs/'];
const nonNavigationUrls = [
'/docs/js/latest',
'/docs/ts/latest/foo',
'/docs/latest/foo/bar',
'/docs/styleguide',
'/docs/styleguide/',
];
navigationUrls.forEach(url => expect(isNavigationUrl(url)).toBeTruthy(url));
nonNavigationUrls.forEach(url => expect(isNavigationUrl(url)).toBeFalsy(url));
});
});