From 4f0dade2decb1e3c5a5ad98bccd46af3f6b993ce Mon Sep 17 00:00:00 2001 From: aisevim Date: Tue, 30 Apr 2024 16:42:32 +1000 Subject: [PATCH] feat(fr-CA): add fr-CA support --- src/langs/__tests__/fr-CA.test.js | 80 +++++++++++++++++++++++++++++++ src/langs/fr-CA.js | 7 +++ 2 files changed, 87 insertions(+) create mode 100644 src/langs/__tests__/fr-CA.test.js create mode 100644 src/langs/fr-CA.js diff --git a/src/langs/__tests__/fr-CA.test.js b/src/langs/__tests__/fr-CA.test.js new file mode 100644 index 0000000..720efb4 --- /dev/null +++ b/src/langs/__tests__/fr-CA.test.js @@ -0,0 +1,80 @@ +import { test, describe } from 'vitest' + +import { getLoremi } from '../../index' + +describe(`Should return the good 'unit' options`, () => { + test(`Should return only a word using 'word'`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'word', + }) + + expect(result).toMatchInlineSnapshot(`"Le"`) + }) + + test(`Should return only a sentences using 'sentence'`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'sentence', + }) + + expect(result).toMatchInlineSnapshot(`"Le matin se lève sur Montréal, laissant entrevoir les premières lueurs sur le Mont-Royal"`) + }) + + test(`Should return only a paragraph using 'paragraph'`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'paragraph', + }) + + expect(result).toMatchInlineSnapshot(`"Le matin se lève sur Montréal, laissant entrevoir les premières lueurs sur le Mont-Royal. Les rues commencent à s'animer, alors que les cafés ouvrent leurs portes, diffusant l'arôme fort du café frais."`) + }) +}) + +describe(`Should return the good count of 'unit'`, () => { + test(`Should return only 55 word without '.', ',' or 'line break'`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'word', + count: 55, + }) + + expect(result).toMatchInlineSnapshot(`"Le matin se lève sur Montréal laissant entrevoir les premières lueurs sur le Mont-Royal Les rues commencent à s'animer alors que les cafés ouvrent leurs portes diffusant l'arôme fort du café frais Lucie ajuste son foulard avant de sortir de chez elle à Québec Elle traverse les rues pavées du Vieux-Québec saluant les commerçants qui mettent"`) + }) + + test(`Should return only 12 sentences without 'line break'`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'sentence', + count: 12, + }) + + expect(result).toMatchInlineSnapshot(`"Le matin se lève sur Montréal, laissant entrevoir les premières lueurs sur le Mont-Royal. Les rues commencent à s'animer, alors que les cafés ouvrent leurs portes, diffusant l'arôme fort du café frais. Lucie ajuste son foulard avant de sortir de chez elle à Québec. Elle traverse les rues pavées du Vieux-Québec, saluant les commerçants qui mettent en place leurs étals pour la journée. Dans le métro de Montréal, les gens se pressent, écouteurs aux oreilles, se préparant pour une nouvelle journée de travail ou d'études. Les rames bondées circulent avec un bruit rythmé sous la ville. À Sherbrooke, les étudiants de l'université se regroupent dans les bibliothèques, se préparant pour les examens ou collaborant sur des projets de groupe. L'atmosphère est studieuse, mais conviviale. Vers midi, les rues de Laval se remplissent. Les food trucks proposent une variété de mets, des poutines croustillantes aux sandwichs au smoked meat, attirant une foule de gourmands. À Gatineau, près du musée canadien de l'histoire, des groupes de touristes et des écoliers écoutent les guides raconter les épisodes marquants de l'histoire canadienne. La rivière des Outaouais offre un arrière-plan pittoresque"`) + }) + + test(`Should return only 4 paragraph`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'paragraph', + count: 4, + }) + + expect(result).toMatchInlineSnapshot(` + "Le matin se lève sur Montréal, laissant entrevoir les premières lueurs sur le Mont-Royal. Les rues commencent à s'animer, alors que les cafés ouvrent leurs portes, diffusant l'arôme fort du café frais. + Lucie ajuste son foulard avant de sortir de chez elle à Québec. Elle traverse les rues pavées du Vieux-Québec, saluant les commerçants qui mettent en place leurs étals pour la journée. + Dans le métro de Montréal, les gens se pressent, écouteurs aux oreilles, se préparant pour une nouvelle journée de travail ou d'études. Les rames bondées circulent avec un bruit rythmé sous la ville. + À Sherbrooke, les étudiants de l'université se regroupent dans les bibliothèques, se préparant pour les examens ou collaborant sur des projets de groupe. L'atmosphère est studieuse, mais conviviale." + `) + }) +}) + +test(`Should replace the suffix by \r\n`, async ({ expect }) => { + const result = await getLoremi({ + lang: 'fr-CA', + unit: 'paragraph', + count: 2, + suffix: '\r\n', + }) + + expect(result).toMatch('\r\n') +}) diff --git a/src/langs/fr-CA.js b/src/langs/fr-CA.js new file mode 100644 index 0000000..978fad5 --- /dev/null +++ b/src/langs/fr-CA.js @@ -0,0 +1,7 @@ +export function getText(options = {}) { + const { + suffix, + } = options + + return `Le matin se lève sur Montréal, laissant entrevoir les premières lueurs sur le Mont-Royal. Les rues commencent à s'animer, alors que les cafés ouvrent leurs portes, diffusant l'arôme fort du café frais.${ suffix }Lucie ajuste son foulard avant de sortir de chez elle à Québec. Elle traverse les rues pavées du Vieux-Québec, saluant les commerçants qui mettent en place leurs étals pour la journée.${ suffix }Dans le métro de Montréal, les gens se pressent, écouteurs aux oreilles, se préparant pour une nouvelle journée de travail ou d'études. Les rames bondées circulent avec un bruit rythmé sous la ville.${ suffix }À Sherbrooke, les étudiants de l'université se regroupent dans les bibliothèques, se préparant pour les examens ou collaborant sur des projets de groupe. L'atmosphère est studieuse, mais conviviale.${ suffix }Vers midi, les rues de Laval se remplissent. Les food trucks proposent une variété de mets, des poutines croustillantes aux sandwichs au smoked meat, attirant une foule de gourmands.${ suffix }À Gatineau, près du musée canadien de l'histoire, des groupes de touristes et des écoliers écoutent les guides raconter les épisodes marquants de l'histoire canadienne. La rivière des Outaouais offre un arrière-plan pittoresque.${ suffix }L'après-midi, un vent léger souffle sur les plaines d'Abraham, où des joggeurs et des familles profitent du vaste espace vert pour se détendre et faire de l'exercice.${ suffix }À Trois-Rivières, une exposition sur la poésie québécoise attire des visiteurs à la bibliothèque municipale. Les strophes des poèmes décorent les murs, célébrant la richesse de la langue française au Québec.${ suffix }En fin d'après-midi, les terrasses de Montréal se remplissent. Les amis se retrouvent pour déguster une bière artisanale ou un cidre local, profitant du climat doux.${ suffix }À Rimouski, les pêcheurs rentrent au port, leurs bateaux chargés de prises fraîches. Les marchés locaux s'apprêtent à vendre poissons et fruits de mer, très prisés par les habitants.${ suffix }Dans une ruelle de Montréal, des artistes de rue commencent leur spectacle. Jongleurs, musiciens et artistes peintres partagent leur talent, ajoutant une touche de culture vivante à l'effervescence urbaine.${ suffix }À Chicoutimi, les discussions autour de la conservation de l'environnement prennent place dans un café communautaire. Les habitants sont passionnés par la protection de la nature qui entoure leur région.${ suffix }Le soir, les cinémas de Longueuil voient affluer les familles et les couples pour la première d'un film attendu. La culture du cinéma reste une activité populaire pour tous les âges.${ suffix }Plus tard, dans une maison de Brossard, une famille se réunit pour un repas copieux. Les discussions vont bon train, partageant les événements du jour et les projets à venir.${ suffix }La nuit tombe tranquillement, et le Québec s'endort sous un ciel étoilé, prêt à se réveiller pour une autre journée pleine de promesses et de découvertes.${ suffix }` +}