From d8fa7294f5410bc949e75c6d52524ed289b3a7a3 Mon Sep 17 00:00:00 2001 From: Maxime Lenne Date: Sun, 25 Nov 2018 19:39:46 +0100 Subject: [PATCH] Fr format and translation (#1474) * change full_address in fr locale * add french color translation * add euro currency symbol * french translation and format support for compass * french translation for demografic sex * french translation for gender * french translation for measurement * fix empty line offense * add symbol for Nepalese Rupee --- lib/locales/en/currency.yml | 2 +- lib/locales/fr.yml | 37 ++++++++++++++++++++++++++++++ test/test_fr_locale.rb | 45 +++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 1 deletion(-) diff --git a/lib/locales/en/currency.yml b/lib/locales/en/currency.yml index b2427b920d..cba1fcabc6 100644 --- a/lib/locales/en/currency.yml +++ b/lib/locales/en/currency.yml @@ -3,4 +3,4 @@ en: currency: code: [AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BWP, BYR, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EEK, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MYR, MZN, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, STD, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XFU, XOF, XPD, XPF, XPT, XTS, YER, ZAR, ZAR, ZAR, ZMK, ZWL] name: ["UAE Dirham", "Afghani", "Lek", "Armenian Dram", "Netherlands Antillian Guilder", "Kwanza", "Argentine Peso", "Australian Dollar", "Aruban Guilder", "Azerbaijanian Manat", "Convertible Marks", "Barbados Dollar", "Taka", "Bulgarian Lev", "Bahraini Dinar", "Burundi Franc", "Bermudian Dollar (customarily known as Bermuda Dollar)", "Brunei Dollar", "Boliviano Mvdol", "Brazilian Real", "Bahamian Dollar", "Pula", "Belarussian Ruble", "Belize Dollar", "Canadian Dollar", "Congolese Franc", "Swiss Franc", "Chilean Peso Unidades de fomento", "Yuan Renminbi", "Colombian Peso Unidad de Valor Real", "Costa Rican Colon", "Cuban Peso Peso Convertible", "Cape Verde Escudo", "Czech Koruna", "Djibouti Franc", "Danish Krone", "Dominican Peso", "Algerian Dinar", "Kroon", "Egyptian Pound", "Nakfa", "Ethiopian Birr", "Euro", "Fiji Dollar", "Falkland Islands Pound", "Pound Sterling", "Lari", "Cedi", "Gibraltar Pound", "Dalasi", "Guinea Franc", "Quetzal", "Guyana Dollar", "Hong Kong Dollar", "Lempira", "Croatian Kuna", "Gourde US Dollar", "Forint", "Rupiah", "New Israeli Sheqel", "Indian Rupee", "Indian Rupee Ngultrum", "Iraqi Dinar", "Iranian Rial", "Iceland Krona", "Jamaican Dollar", "Jordanian Dinar", "Yen", "Kenyan Shilling", "Som", "Riel", "Comoro Franc", "North Korean Won", "Won", "Kuwaiti Dinar", "Cayman Islands Dollar", "Tenge", "Kip", "Lebanese Pound", "Sri Lanka Rupee", "Liberian Dollar", "Lithuanian Litas", "Latvian Lats", "Libyan Dinar", "Moroccan Dirham", "Moldovan Leu", "Malagasy Ariary", "Denar", "Kyat", "Tugrik", "Pataca", "Ouguiya", "Mauritius Rupee", "Rufiyaa", "Kwacha", "Mexican Peso Mexican Unidad de Inversion (UDI)", "Malaysian Ringgit", "Metical", "Naira", "Cordoba Oro", "Norwegian Krone", "Nepalese Rupee", "New Zealand Dollar", "Rial Omani", "Balboa US Dollar", "Nuevo Sol", "Kina", "Philippine Peso", "Pakistan Rupee", "Zloty", "Guarani", "Qatari Rial", "New Leu", "Serbian Dinar", "Russian Ruble", "Rwanda Franc", "Saudi Riyal", "Solomon Islands Dollar", "Seychelles Rupee", "Sudanese Pound", "Swedish Krona", "Singapore Dollar", "Saint Helena Pound", "Leone", "Somali Shilling", "Surinam Dollar", "Dobra", "El Salvador Colon US Dollar", "Syrian Pound", "Lilangeni", "Baht", "Somoni", "Manat", "Tunisian Dinar", "Pa'anga", "Turkish Lira", "Trinidad and Tobago Dollar", "New Taiwan Dollar", "Tanzanian Shilling", "Hryvnia", "Uganda Shilling", "US Dollar", "Peso Uruguayo Uruguay Peso en Unidades Indexadas", "Uzbekistan Sum", "Bolivar Fuerte", "Dong", "Vatu", "Tala", "CFA Franc BEAC", "Silver", "Gold", "Bond Markets Units European Composite Unit (EURCO)", "European Monetary Unit (E.M.U.-6)", "European Unit of Account 9(E.U.A.-9)", "European Unit of Account 17(E.U.A.-17)", "East Caribbean Dollar", "SDR", "UIC-Franc", "CFA Franc BCEAO", "Palladium", "CFP Franc", "Platinum", "Codes specifically reserved for testing purposes", "Yemeni Rial", "Rand", "Rand Loti", "Rand Namibia Dollar", "Zambian Kwacha", "Zimbabwe Dollar"] - symbol: ['HK$', 'Ft', '₪', '¥', '$', 'kr', 'PhP', 'zł', 'CHF', 'NT$', '฿', '£', '¢', 'Rp', 'ƒ'] + symbol: ['HK$', 'Ft', '₪', '¥', '$', 'kr', 'PhP', 'zł', 'CHF', 'NT$', '฿', '£', '¢', 'Rp', 'ƒ', '€','रू'] diff --git a/lib/locales/fr.yml b/lib/locales/fr.yml index d900b7e2db..c748637a93 100644 --- a/lib/locales/fr.yml +++ b/lib/locales/fr.yml @@ -15,8 +15,33 @@ fr: - "#{street_prefix} #{street_suffix}" street_address: - "#{building_number} #{street_name}" + full_address: + - "#{street_address}, #{zip_code} #{city}" + - "#{secondary_address}, #{street_address}, #{zip_code} #{city}" default_country: [France] + color: + name: ["rouge", "vert", "bleu", "jaune", "violet", "vert menthe", "bleu sarcelle", "blanc", "noir", "orange", "rose", "gris", "marron", "turquoise", "brun", "bleu ciel", "saumon", "prune", "orchidée", "olive", "magenta", "vert citron", "ivoire", "indigo", "or", "fuchsia", "cyan", "azur", "lavande", "argent"] + + compass: + cardinal: + word: ['nord', 'est', 'sud', 'ouest'] + abbreviation: ['N', 'E', 'S', 'O'] + ordinal: + word: ['nord-est', 'sud-est', 'sud-ouest', 'nord-ouest'] + abbreviation: ['NE', 'SE', 'SO', 'NO'] + half-wind: + word: ['nord-nord-est', 'est-nord-est', 'est-sud-est', 'sud-sud-est', 'sud-sud-ouest', 'ouest-sud-ouest', 'ouest-nord-ouest', 'nord-nord-ouest'] + abbreviation: ['NNE', 'ENE', 'ESE', 'SSE', 'SSO', 'OSO', 'ONO', 'NNO'] + direction: + - "#{cardinal}" + - "#{ordinal}" + - "#{half_wind}" + abbreviation: + - "#{cardinal_abbreviation}" + - "#{ordinal_abbreviation}" + - "#{half_wind_abbreviation}" + company: suffix: [SARL, SA, EURL, SAS, SEM, SCOP, GIE, EI] # Buzzword wordlist from http://www.1728.com/buzzword.htm @@ -33,14 +58,26 @@ fr: - "#{Name.last_name} #{suffix}" - "#{Name.last_name} et #{Name.last_name}" + demographic: + sex: ["Homme", "Femme"] + internet: free_email: [gmail.com, yahoo.fr, hotmail.fr] domain_suffix: [com, fr, eu, info, name, net, org, immo, paris, alsace, bzh] + gender: + binary_types: ["Masculin", "Féminin"] + lorem: words: [alias, consequatur, aut, perferendis, sit, voluptatem, accusantium, doloremque, aperiam, eaque, ipsa, quae, ab, illo, inventore, veritatis, et, quasi, architecto, beatae, vitae, dicta, sunt, explicabo, aspernatur, aut, odit, aut, fugit, sed, quia, consequuntur, magni, dolores, eos, qui, ratione, voluptatem, sequi, nesciunt, neque, dolorem, ipsum, quia, dolor, sit, amet, consectetur, adipisci, velit, sed, quia, non, numquam, eius, modi, tempora, incidunt, ut, labore, et, dolore, magnam, aliquam, quaerat, voluptatem, ut, enim, ad, minima, veniam, quis, nostrum, exercitationem, ullam, corporis, nemo, enim, ipsam, voluptatem, quia, voluptas, sit, suscipit, laboriosam, nisi, ut, aliquid, ex, ea, commodi, consequatur, quis, autem, vel, eum, iure, reprehenderit, qui, in, ea, voluptate, velit, esse, quam, nihil, molestiae, et, iusto, odio, dignissimos, ducimus, qui, blanditiis, praesentium, laudantium, totam, rem, voluptatum, deleniti, atque, corrupti, quos, dolores, et, quas, molestias, excepturi, sint, occaecati, cupiditate, non, provident, sed, ut, perspiciatis, unde, omnis, iste, natus, error, similique, sunt, in, culpa, qui, officia, deserunt, mollitia, animi, id, est, laborum, et, dolorum, fuga, et, harum, quidem, rerum, facilis, est, et, expedita, distinctio, nam, libero, tempore, cum, soluta, nobis, est, eligendi, optio, cumque, nihil, impedit, quo, porro, quisquam, est, qui, minus, id, quod, maxime, placeat, facere, possimus, omnis, voluptas, assumenda, est, omnis, dolor, repellendus, temporibus, autem, quibusdam, et, aut, consequatur, vel, illum, qui, dolorem, eum, fugiat, quo, voluptas, nulla, pariatur, at, vero, eos, et, accusamus, officiis, debitis, aut, rerum, necessitatibus, saepe, eveniet, ut, et, voluptates, repudiandae, sint, et, molestiae, non, recusandae, itaque, earum, rerum, hic, tenetur, a, sapiente, delectus, ut, aut, reiciendis, voluptatibus, maiores, doloribus, asperiores, repellat] supplemental: [abbas, abduco, abeo, abscido, absconditus, absens, absorbeo, absque, abstergo, absum, abundans, abutor, accedo, accendo, acceptus, accipio, accommodo, accusator, acer, acerbitas, acervus, acidus, acies, acquiro, acsi, adamo, adaugeo, addo, adduco, ademptio, adeo, adeptio, adfectus, adfero, adficio, adflicto, adhaero, adhuc, adicio, adimpleo, adinventitias, adipiscor, adiuvo, administratio, admiratio, admitto, admoneo, admoveo, adnuo, adopto, adsidue, adstringo, adsuesco, adsum, adulatio, adulescens, adultus, aduro, advenio, adversus, advoco, aedificium, aeger, aegre, aegrotatio, aegrus, aeneus, aequitas, aequus, aer, aestas, aestivus, aestus, aetas, aeternus, ager, aggero, aggredior, agnitio, agnosco, ago, ait, aiunt, alienus, alii, alioqui, aliqua, alius, allatus, alo, alter, altus, alveus, amaritudo, ambitus, ambulo, amicitia, amiculum, amissio, amita, amitto, amo, amor, amoveo, amplexus, amplitudo, amplus, ancilla, angelus, angulus, angustus, animadverto, animi, animus, annus, anser, ante, antea, antepono, antiquus, aperio, aperte, apostolus, apparatus, appello, appono, appositus, approbo, apto, aptus, apud, aqua, ara, aranea, arbitro, arbor, arbustum, arca, arceo, arcesso, arcus, argentum, argumentum, arguo, arma, armarium, armo, aro, ars, articulus, artificiose, arto, arx, ascisco, ascit, asper, aspicio, asporto, assentator, astrum, atavus, ater, atqui, atrocitas, atrox, attero, attollo, attonbitus, auctor, auctus, audacia, audax, audentia, audeo, audio, auditor, aufero, aureus, auris, aurum, aut, autem, autus, auxilium, avaritia, avarus, aveho, averto, avoco, baiulus, balbus, barba, bardus, basium, beatus, bellicus, bellum, bene, beneficium, benevolentia, benigne, bestia, bibo, bis, blandior, bonus, bos, brevis, cado, caecus, caelestis, caelum, calamitas, calcar, calco, calculus, callide, campana, candidus, canis, canonicus, canto, capillus, capio, capitulus, capto, caput, carbo, carcer, careo, caries, cariosus, caritas, carmen, carpo, carus, casso, caste, casus, catena, caterva, cattus, cauda, causa, caute, caveo, cavus, cedo, celebrer, celer, celo, cena, cenaculum, ceno, censura, centum, cerno, cernuus, certe, certo, certus, cervus, cetera, charisma, chirographum, cibo, cibus, cicuta, cilicium, cimentarius, ciminatio, cinis, circumvenio, cito, civis, civitas, clam, clamo, claro, clarus, claudeo, claustrum, clementia, clibanus, coadunatio, coaegresco, coepi, coerceo, cogito, cognatus, cognomen, cogo, cohaero, cohibeo, cohors, colligo, colloco, collum, colo, color, coma, combibo, comburo, comedo, comes, cometes, comis, comitatus, commemoro, comminor, commodo, communis, comparo, compello, complectus, compono, comprehendo, comptus, conatus, concedo, concido, conculco, condico, conduco, confero, confido, conforto, confugo, congregatio, conicio, coniecto, conitor, coniuratio, conor, conqueror, conscendo, conservo, considero, conspergo, constans, consuasor, contabesco, contego, contigo, contra, conturbo, conventus, convoco, copia, copiose, cornu, corona, corpus, correptius, corrigo, corroboro, corrumpo, coruscus, cotidie, crapula, cras, crastinus, creator, creber, crebro, credo, creo, creptio, crepusculum, cresco, creta, cribro, crinis, cruciamentum, crudelis, cruentus, crur, crustulum, crux, cubicularis, cubitum, cubo, cui, cuius, culpa, culpo, cultellus, cultura, cum, cunabula, cunae, cunctatio, cupiditas, cupio, cuppedia, cupressus, cur, cura, curatio, curia, curiositas, curis, curo, curriculum, currus, cursim, curso, cursus, curto, curtus, curvo, curvus, custodia, damnatio, damno, dapifer, debeo, debilito, decens, decerno, decet, decimus, decipio, decor, decretum, decumbo, dedecor, dedico, deduco, defaeco, defendo, defero, defessus, defetiscor, deficio, defigo, defleo, defluo, defungo, degenero, degero, degusto, deinde, delectatio, delego, deleo, delibero, delicate, delinquo, deludo, demens, demergo, demitto, demo, demonstro, demoror, demulceo, demum, denego, denique, dens, denuncio, denuo, deorsum, depereo, depono, depopulo, deporto, depraedor, deprecator, deprimo, depromo, depulso, deputo, derelinquo, derideo, deripio, desidero, desino, desipio, desolo, desparatus, despecto, despirmatio, infit, inflammatio, paens, patior, patria, patrocinor, patruus, pauci, paulatim, pauper, pax, peccatus, pecco, pecto, pectus, pecunia, pecus, peior, pel, ocer, socius, sodalitas, sol, soleo, solio, solitudo, solium, sollers, sollicito, solum, solus, solutio, solvo, somniculosus, somnus, sonitus, sono, sophismata, sopor, sordeo, sortitus, spargo, speciosus, spectaculum, speculum, sperno, spero, spes, spiculum, spiritus, spoliatio, sponte, stabilis, statim, statua, stella, stillicidium, stipes, stips, sto, strenuus, strues, studio, stultus, suadeo, suasoria, sub, subito, subiungo, sublime, subnecto, subseco, substantia, subvenio, succedo, succurro, sufficio, suffoco, suffragium, suggero, sui, sulum, sum, summa, summisse, summopere, sumo, sumptus, supellex, super, suppellex, supplanto, suppono, supra, surculus, surgo, sursum, suscipio, suspendo, sustineo, suus, synagoga, tabella, tabernus, tabesco, tabgo, tabula, taceo, tactus, taedium, talio, talis, talus, tam, tamdiu, tamen, tametsi, tamisium, tamquam, tandem, tantillus, tantum, tardus, tego, temeritas, temperantia, templum, temptatio, tempus, tenax, tendo, teneo, tener, tenuis, tenus, tepesco, tepidus, ter, terebro, teres, terga, tergeo, tergiversatio, tergo, tergum, termes, terminatio, tero, terra, terreo, territo, terror, tersus, tertius, testimonium, texo, textilis, textor, textus, thalassinus, theatrum, theca, thema, theologus, thermae, thesaurus, thesis, thorax, thymbra, thymum, tibi, timidus, timor, titulus, tolero, tollo, tondeo, tonsor, torqueo, torrens, tot, totidem, toties, totus, tracto, trado, traho, trans, tredecim, tremo, trepide, tres, tribuo, tricesimus, triduana, triginta, tripudio, tristis, triumphus, trucido, truculenter, tubineus, tui, tum, tumultus, tunc, turba, turbo, turpe, turpis, tutamen, tutis, tyrannus, uberrime, ubi, ulciscor, ullus, ulterius, ultio, ultra, umbra, umerus, umquam, una, unde, undique, universe, unus, urbanus, urbs, uredo, usitas, usque, ustilo, ustulo, usus, uter, uterque, utilis, utique, utor, utpote, utrimque, utroque, utrum, uxor, vaco, vacuus, vado, vae, valde, valens, valeo, valetudo, validus, vallum, vapulus, varietas, varius, vehemens, vel, velociter, velum, velut, venia, venio, ventito, ventosus, ventus, venustas, ver, verbera, verbum, vere, verecundia, vereor, vergo, veritas, vero, versus, verto, verumtamen, verus, vesco, vesica, vesper, vespillo, vester, vestigium, vestrum, vetus, via, vicinus, vicissitudo, victoria, victus, videlicet, video, viduata, viduo, vigilo, vigor, vilicus, vilis, vilitas, villa, vinco, vinculum, vindico, vinitor, vinum, vir, virga, virgo, viridis, viriliter, virtus, vis, viscus, vita, vitiosus, vitium, vito, vivo, vix, vobis, vociferor, voco, volaticus, volo, volubilis, voluntarius, volup, volutabrum, volva, vomer, vomica, vomito, vorago, vorax, voro, vos, votum, voveo, vox, vulariter, vulgaris, vulgivagus, vulgo, vulgus, vulnero, vulnus, vulpes, vulticulus, vultuosus, xiphias] + measurement: + metric_height: ["millimètre", "centimètre", "mètre"] + metric_length: ["millimètre", "centimètre", "décimètre", "mètre", "décamètre", "hectomètre", "kilomètre"] + metric_volume: ["millilitre", "centilitre", "décilitre", "litre", "décalitre", "hectolitre", "décimètre cube", "mètre cube"] + metric_weight: ["milligramme", "centigramme", "décigramme", "gramme", "décagramme", "hectogramme", "kilogramme", "tonne", "kilotonne"] + name: first_name: [Enzo, Lucas, Mathis, Nathan, Thomas, Hugo, Théo, Tom, Louis, Raphaël, Clément, Léo, Mathéo, Maxime, Alexandre, Antoine, Yanis, Paul, Baptiste, Alexis, Gabriel, Arthur, Jules, Ethan, Noah, Quentin, Axel, Evan, Mattéo, Romain, Valentin, Maxence, Noa, Adam, Nicolas, Julien, Mael, Pierre, Rayan, Victor, Mohamed, Adrien, Kylian, Sacha, Benjamin, Léa, Clara, Manon, Chloé, Camille, Ines, Sarah, Jade, Lola, Anaïs, Lucie, Océane, Lilou, Marie, Eva, Romane, Lisa, Zoe, Julie, Mathilde, Louise, Juliette, Clémence, Célia, Laura, Lena, Maëlys, Charlotte, Ambre, Maeva, Pauline, Lina, Jeanne, Lou, Noémie, Justine, Louna, Elisa, Alice, Emilie, Carla, Maëlle, Alicia, Mélissa] last_name: [Martin, Bérnard, Dubois, Thomas, Robért, Richard, Pétit, Durand, Léroy, Moréau, Simon, Laurént, Lefévre, Michél, Garcia, David, Bértrand, Roux, Vincent, Fourniér, Morél, Girard, André, Lévêque , Merciér, Dupont, Lambért, Bonnét, Francois, Martinéz, Légrand, Garniér, Fauré, Rousséau, Blanc, Guérin, Mullér, Hénry, Roussél, Nicolas, Pérrin, Morin, Mathiéu, Clemént, Gauthiér, Dumont, Lopéz, Fontainé, Chevaliér, Robin, Masson, Sanchéz, Gérard, Nguyén, Boyér, Dvnis, Lemairé, Duval, Joly, Gautiér, Rogér,Roché, Roy, Noél, Meyér, Lucas, Méunier,Jéan, Peréz, Marchand, Dufour, Blanchard, Marié, Barbiér, Brun, Dumas, Brunét, Schmitt, Leroux, Colin, Fernandéz, Piérre, Rénard, Arnaud, Rolland, Caron, Aubért, Giraud, Leclérc, Vidal, Bourgéois, Renaud, Lemoiné, Picard, Gaillard, Philippé, Leclércq, Lacroix, Fabré, Dupuis, Oliviér, Rodriguéz, Da silva, Hubért, Louis, Charlés, Guillot, Rivieré, Le gall, Guillaume, Adam, Rey, Moulin, Gonzaléz, Bergér, Lecomté, Ménard, Fléury, Déschamps, Carpéntier, Julién, Bénoit, Paris, Maillard, Marchal, Aubry, Vasséur, Le roux, Rénault, Jacquét, Collét, Prévost, Poiriér, Charpéntier, Royér, Huét, Baron, Dupuy, Pons, Paul, Lainé, Carré, Bréton, Rémy, Schneidér, Pérrot, Guyot,Barré, Marty, Cousin] diff --git a/test/test_fr_locale.rb b/test/test_fr_locale.rb index 3d0c124cee..5d4113a784 100644 --- a/test/test_fr_locale.rb +++ b/test/test_fr_locale.rb @@ -24,8 +24,11 @@ def test_fr_address_methods assert Faker::Address.street_name.is_a? String assert Faker::Address.street_address.is_a? String assert Faker::Address.default_country.is_a? String + assert Faker::Address.full_address.is_a? String assert_match(/^[\d]{5}$/, Faker::Address.postcode) assert_match(/^\d+$/, Faker::Address.building_number) + full_address_regex = /(([a-zA-Z-éÉèÈàÀùÙâÂêÊîÎôÔûÛïÏëËüÜçÇæœ'.]*\s)\d*(\s[a-zA-Z-éÉèÈàÀùÙâÂêÊîÎôÔûÛïÏëËüÜçÇæœ']*)*,)*\d*(\s[a-zA-Z-éÉèÈàÀùÙâÂêÊîÎôÔûÛïÏëËüÜçÇæœ']*)+,\s([\d]{5})\s[a-zA-Z-éÉèÈàÀùÙâÂêÊîÎôÔûÛïÏëËüÜçÇæœ']+/ + assert_match(full_address_regex, Faker::Address.full_address) assert_equal('France', Faker::Address.default_country) end @@ -40,6 +43,28 @@ def test_fr_book_methods assert Faker::Book.quote.is_a? String end + def test_fr_color_methods + assert Faker::Color.color_name.is_a? String + end + + def test_fr_compass_methods + direction_pattern = /^\w+(\-\w+){0,2}$/ + cardinal_pattern = /^\w+$/ + ordinal_pattern = /^\w+(\-\w+){1}$/ + half_wind_patern = /^\w+(\-\w+){2}$/ + letter_pattern = /^[NEOS]{1,3}$/ + + assert_match(direction_pattern, Faker::Compass.direction) + assert_match(cardinal_pattern, Faker::Compass.cardinal) + assert_match(ordinal_pattern, Faker::Compass.ordinal) + assert_match(half_wind_patern, Faker::Compass.half_wind) + + assert_match(letter_pattern, Faker::Compass.abbreviation) + assert_match(letter_pattern, Faker::Compass.cardinal_abbreviation) + assert_match(letter_pattern, Faker::Compass.ordinal_abbreviation) + assert_match(letter_pattern, Faker::Compass.half_wind_abbreviation) + end + def test_fr_company_methods assert Faker::Company.suffix.is_a? String assert Faker::Company.buzzword.is_a? String @@ -47,17 +72,37 @@ def test_fr_company_methods assert Faker::Company.name.is_a? String end + def test_fr_demographic_methods + assert %w[Homme Femme].include?(Faker::Demographic.sex) + end + def test_fr_internet_methods assert Faker::Internet.free_email.is_a? String assert Faker::Internet.domain_suffix.is_a? String end + def test_fr_gender_methods + assert %w[Masculin Féminin].include?(Faker::Gender.binary_type) + end + def test_fr_lorem_methods assert Faker::Lorem.word.is_a? String assert Faker::Lorem.words(1000) assert Faker::Lorem.words(10_000, true) end + def test_fr_measurement_methods + metric_height_pattern = /mètre/ + metric_length_pattern = /mètre/ + metric_volume_pattern = /litre|cube/ + metric_weight_patern = /gramme|tonne/ + + assert_match(metric_height_pattern, Faker::Measurement.metric_height) + assert_match(metric_length_pattern, Faker::Measurement.metric_length) + assert_match(metric_volume_pattern, Faker::Measurement.metric_volume) + assert_match(metric_weight_patern, Faker::Measurement.metric_weight) + end + def test_fr_name_methods assert Faker::Name.first_name.is_a? String assert Faker::Name.last_name.is_a? String