diff --git a/src/locales/en/name/female_middle_name.ts b/src/locales/en/name/female_middle_name.ts new file mode 100644 index 00000000000..02a892fdccf --- /dev/null +++ b/src/locales/en/name/female_middle_name.ts @@ -0,0 +1,212 @@ +export default [ + 'Abigail', + 'Adele', + 'Alex', + 'Alice', + 'Alisha', + 'Amber', + 'Amelia', + 'Amora', + 'Anaïs', + 'Angelou', + 'Anika', + 'Anise', + 'Annabel', + 'Anne', + 'Aphrodite', + 'Aretha', + 'Arya', + 'Ashton', + 'Aster', + 'Audrey', + 'Avery', + 'Bailee', + 'Bay', + 'Belle', + 'Beth', + 'Billie', + 'Blair', + 'Blaise', + 'Blake', + 'Blanche', + 'Blue', + 'Bree', + 'Brielle', + 'Brienne', + 'Brooke', + 'Caleen', + 'Candice', + 'Caprice', + 'Carelyn', + 'Caylen', + 'Celine', + 'Cerise', + 'Cia', + 'Claire', + 'Claudia', + 'Clementine', + 'Coral', + 'Coraline', + 'Dahlia', + 'Dakota', + 'Dawn', + 'Della', + 'Demi', + 'Denise', + 'Denver', + 'Devine', + 'Devon', + 'Diana', + 'Dylan', + 'Ebony', + 'Eden', + 'Eleanor', + 'Elein', + 'Elizabeth', + 'Ellen', + 'Elodie', + 'Eloise', + 'Ember', + 'Emma', + 'Erin', + 'Eyre', + 'Faith', + 'Farrah', + 'Fawn', + 'Fayre', + 'Fern', + 'France', + 'Francis', + 'Frida', + 'Genisis', + 'Georgia', + 'Grace', + 'Gwen', + 'Harley', + 'Harper', + 'Hazel', + 'Helen', + 'Hippolyta', + 'Holly', + 'Hope', + 'Imani', + 'Iowa', + 'Ireland', + 'Irene', + 'Iris', + 'Isa', + 'Isla', + 'Ivy', + 'Jade', + 'Jane', + 'Jazz', + 'Jean', + 'Jess', + 'Jett', + 'Jo', + 'Joan', + 'Jolie', + 'Jordan', + 'Josie', + 'Journey', + 'Joy', + 'Jules', + 'Julien', + 'Juliet', + 'Juniper', + 'Justice', + 'Kali', + 'Karma', + 'Kat', + 'Kate', + 'Kennedy', + 'Keva', + 'Kylie', + 'Lake', + 'Lane', + 'Lark', + 'Layla', + 'Lee', + 'Leigh', + 'Leona', + 'Lexi', + 'London', + 'Lou', + 'Louise', + 'Love', + 'Luna', + 'Lux', + 'Lynn', + 'Lyric', + 'Maddie', + 'Mae', + 'Marie', + 'Matilda', + 'Maude', + 'Maybel', + 'Meadow', + 'Medusa', + 'Mercy', + 'Michelle', + 'Mirabel', + 'Monroe', + 'Morgan', + 'Nalia', + 'Naomi', + 'Nova', + 'Olive', + 'Paige', + 'Parker', + 'Pax', + 'Pearl', + 'Penelope', + 'Phoenix', + 'Quinn', + 'Rae', + 'Rain', + 'Raven', + 'Ray', + 'Raye', + 'Rebel', + 'Reese', + 'Reeve', + 'Regan', + 'Riley', + 'River', + 'Robin', + 'Rory', + 'Rose', + 'Royal', + 'Ruth', + 'Rylie', + 'Sage', + 'Sam', + 'Saturn', + 'Scout', + 'Serena', + 'Sky', + 'Skylar', + 'Sofia', + 'Sophia', + 'Storm', + 'Sue', + 'Suzanne', + 'Sydney', + 'Taylen', + 'Taylor', + 'Teagan', + 'Tempest', + 'Tenley', + 'Thea', + 'Trinity', + 'Valerie', + 'Venus', + 'Vera', + 'Violet', + 'Willow', + 'Winter', + 'Xena', + 'Zaylee', + 'Zion', + 'Zoe', +]; diff --git a/src/locales/en/name/index.ts b/src/locales/en/name/index.ts index 39f195db94d..dcc3fef143a 100644 --- a/src/locales/en/name/index.ts +++ b/src/locales/en/name/index.ts @@ -5,10 +5,13 @@ import type { NameDefinitions } from '../../..'; import binary_gender from './binary_gender'; import female_first_name from './female_first_name'; +import female_middle_name from './female_middle_name'; import first_name from './first_name'; import gender from './gender'; import last_name from './last_name'; import male_first_name from './male_first_name'; +import male_middle_name from './male_middle_name'; +import middle_name from './middle_name'; import name_ from './name'; import prefix from './prefix'; import suffix from './suffix'; @@ -17,10 +20,13 @@ import title from './title'; const name: Partial = { binary_gender, female_first_name, + female_middle_name, first_name, gender, last_name, male_first_name, + male_middle_name, + middle_name, name: name_, prefix, suffix, diff --git a/src/locales/en/name/male_middle_name.ts b/src/locales/en/name/male_middle_name.ts new file mode 100644 index 00000000000..6bd3ac848ba --- /dev/null +++ b/src/locales/en/name/male_middle_name.ts @@ -0,0 +1,100 @@ +export default [ + 'Ace', + 'Aiden', + 'Alexander', + 'Ander', + 'Anthony', + 'Asher', + 'August', + 'Aziel', + 'Bear', + 'Beckham', + 'Benjamin', + 'Buddy', + 'Calvin', + 'Carter', + 'Charles', + 'Christopher', + 'Clyde', + 'Cooper', + 'Daniel', + 'David', + 'Dior', + 'Dylan', + 'Elijah', + 'Ellis', + 'Emerson', + 'Ethan', + 'Ezra', + 'Fletcher', + 'Flynn', + 'Gabriel', + 'Grayson', + 'Gus', + 'Hank', + 'Harrison', + 'Hendrix', + 'Henry', + 'Houston', + 'Hudson', + 'Hugh', + 'Isaac', + 'Jack', + 'Jackson', + 'Jacob', + 'Jakobe', + 'James', + 'Jaxon', + 'Jaxtyn', + 'Jayden', + 'John', + 'Joseph', + 'Josiah', + 'Jude', + 'Julian', + 'Karsyn', + 'Kenji', + 'Kobe', + 'Kylo', + 'Lennon', + 'Leo', + 'Levi', + 'Liam', + 'Lincoln', + 'Logan', + 'Louis', + 'Lucas', + 'Lucky', + 'Luke', + 'Mason', + 'Mateo', + 'Matthew', + 'Maverick', + 'Michael', + 'Monroe', + 'Nixon', + 'Ocean', + 'Oliver', + 'Otis', + 'Otto', + 'Owen', + 'Ozzy', + 'Parker', + 'Rocky', + 'Samuel', + 'Sebastian', + 'Sonny', + 'Teddy', + 'Theo', + 'Theodore', + 'Thomas', + 'Truett', + 'Walter', + 'Warren', + 'Watson', + 'William', + 'Wison', + 'Wyatt', + 'Ziggy', + 'Zyair', +]; diff --git a/src/locales/en/name/middle_name.ts b/src/locales/en/name/middle_name.ts new file mode 100644 index 00000000000..0f03c1535dc --- /dev/null +++ b/src/locales/en/name/middle_name.ts @@ -0,0 +1,64 @@ +export default [ + 'Addison', + 'Alex', + 'Anderson', + 'Angel', + 'Arden', + 'August', + 'Austin', + 'Avery', + 'Bailey', + 'Billie', + 'Blake', + 'Bowie', + 'Brooklyn', + 'Cameron', + 'Charlie', + 'Corey', + 'Dakota', + 'Drew', + 'Elliott', + 'Ellis', + 'Emerson', + 'Finley', + 'Gray', + 'Greer', + 'Harper', + 'Hayden', + 'Jaden', + 'James', + 'Jamie', + 'Jordan', + 'Jules', + 'Kai', + 'Kendall', + 'Kennedy', + 'Kyle', + 'Leslie', + 'Logan', + 'London', + 'Marlowe', + 'Micah', + 'Nico', + 'Noah', + 'North', + 'Parker', + 'Phoenix', + 'Quinn', + 'Reagan', + 'Reese', + 'Reign', + 'Riley', + 'River', + 'Robin', + 'Rory', + 'Rowan', + 'Ryan', + 'Sage', + 'Sasha', + 'Sawyer', + 'Shawn', + 'Shiloh', + 'Skyler', + 'Taylor', +]; diff --git a/test/name.spec.ts b/test/name.spec.ts index a8c0c986032..2b8e9f0a304 100644 --- a/test/name.spec.ts +++ b/test/name.spec.ts @@ -12,7 +12,7 @@ const seededRuns = [ noArgs: 'Hintz', }, middleName: { - noArgs: 'b', + noArgs: 'Owen', }, findName: { noArgs: 'Lorene Deckow', @@ -53,7 +53,7 @@ const seededRuns = [ noArgs: 'Gibson', }, middleName: { - noArgs: 'a', + noArgs: 'Kenji', }, findName: { noArgs: 'Marilyn Effertz', @@ -94,7 +94,7 @@ const seededRuns = [ noArgs: 'Ward', }, middleName: { - noArgs: 'c', + noArgs: 'Isla', }, findName: { noArgs: 'Darrel Sanford', @@ -188,16 +188,12 @@ describe('name', () => { expect(faker.definitions.name.female_first_name).toContain(name); }); - // TODO @Shinigami92 2022-01-30: There is a bug: https://github.com/faker-js/faker/issues/373 - it.todo( - 'should return a gender-specific first name when passed a string', - () => { - let name = faker.name.firstName('male'); - expect(faker.definitions.name.male_first_name).toContain(name); - name = faker.name.firstName('female'); - expect(faker.definitions.name.female_first_name).toContain(name); - } - ); + it('should return a gender-specific first name when passed a string', () => { + let name = faker.name.firstName('male'); + expect(faker.definitions.name.male_first_name).toContain(name); + name = faker.name.firstName('female'); + expect(faker.definitions.name.female_first_name).toContain(name); + }); }); describe('lastName()', () => { @@ -247,6 +243,17 @@ describe('name', () => { expect(middle_name.length).greaterThan(0); }); + it.todo('should return a middle name when passed en locale', () => { + faker.locale = 'en'; + + let name = faker.name.middleName(); + expect(faker.definitions.name.middle_name).toContain(name); + name = faker.name.middleName(0); + expect(faker.definitions.name.male_middle_name).toContain(name); + name = faker.name.middleName(1); + expect(faker.definitions.name.female_middle_name).toContain(name); + }); + it('should return a gender-specific middle name when passed a number', () => { faker.locale = 'uk'; @@ -256,7 +263,6 @@ describe('name', () => { expect(faker.definitions.name.female_middle_name).toContain(name); }); - // TODO @Shinigami92 2022-01-30: There is a bug: https://github.com/faker-js/faker/issues/373 it.todo( 'should return a gender-specific middle name when passed a string', () => {