UNPKG

@prezly/theme-kit-core

Version:

Data layer and utility library for developing Prezly themes with JavaScript

44 lines (43 loc) 1.52 kB
"use strict"; var _generateUrlFromPattern = require("./generateUrlFromPattern.cjs"); describe('generateUrlFromPattern', () => { it('should generate a URL (without context)', () => { var href = (0, _generateUrlFromPattern.generateUrlFromPattern)('/:localeCode/media', { localeCode: 'en' }); expect(href).toBe('/en/media'); }); it('should generate a URL with optional variables (without context)', () => { var href = (0, _generateUrlFromPattern.generateUrlFromPattern)('/(:localeSlug/)media', { localeSlug: '' }); expect(href).toBe('/media'); }); it('should generate a URL based on the current locale', () => { var href = (0, _generateUrlFromPattern.generateUrlFromPattern)('/(:localeSlug/)media', { localeCode: 'fr' }, { defaultLocale: 'en', locales: ['en', 'nl', 'fr'] }); expect(href).toBe('/fr/media'); }); it('should generate a homepage URL based on the current locale', () => { var href = (0, _generateUrlFromPattern.generateUrlFromPattern)('/(:localeSlug/)media', { localeCode: 'en' }, { defaultLocale: 'en', locales: ['en', 'nl', 'fr'] }); expect(href).toBe('/media'); }); it('should generate a shortest possible locale slug', () => { var href = (0, _generateUrlFromPattern.generateUrlFromPattern)('/(:localeSlug/)media', { localeCode: 'nl_BE' }, { defaultLocale: 'en_US', locales: ['en_US', 'nl_BE', 'fr_FR'] }); expect(href).toBe('/nl/media'); }); });