{_({
diff --git a/app/app/src/components/LocalesPicker/LocalesPicker.astro b/app/app/src/components/LocalesPicker/LocalesPicker.astro new file mode 100644 index 0000000..1177de3 --- /dev/null +++ b/app/app/src/components/LocalesPicker/LocalesPicker.astro @@ -0,0 +1,55 @@ +--- +import { getRelativeLocaleUrl } from 'astro:i18n' + +export interface Props +{ + lang?: string | undefined +} + +const { + lang = Astro.currentLocale, +} = Astro.props +--- + +
+ + diff --git a/app/app/src/components/LocalesPicker/LocalesPicker.spec.ts b/app/app/src/components/LocalesPicker/LocalesPicker.spec.ts new file mode 100644 index 0000000..7d6c4a1 --- /dev/null +++ b/app/app/src/components/LocalesPicker/LocalesPicker.spec.ts @@ -0,0 +1,26 @@ +import { experimental_AstroContainer as AstroContainer } from 'astro/container' +import { expect, test } from 'vitest' +import LocalesPicker from './LocalesPicker.astro' + +test('LocalesPicker with defaults', async () => +{ + const container = await AstroContainer.create() + const result = await container.renderToString(LocalesPicker) + + expect(result).toBeTruthy() + expect(result).not.toContain('active') +}) + +test('LocalesPicker with FR language', async () => +{ + const container = await AstroContainer.create() + const result = await container.renderToString(LocalesPicker, { + props: { + lang: 'fr', + } + }) + + expect(result).toBeTruthy() + expect(result).toContain('active') + expect(result).toMatch(/]+class="active"[^>]*>/) +}) diff --git a/app/app/src/pages/en/index.astro b/app/app/src/pages/en/index.astro deleted file mode 100644 index 25090d8..0000000 --- a/app/app/src/pages/en/index.astro +++ /dev/null @@ -1,5 +0,0 @@ ---- -import Page from '~/pages/index.astro' ---- - -{_({