diff --git a/Gemfile b/Gemfile index 915bb379bf..697d77b593 100644 --- a/Gemfile +++ b/Gemfile @@ -8,11 +8,12 @@ gemspec gem 'benchmark' gem 'minitest', '5.22.3' gem 'pry', '0.14.2' -gem 'rake', '13.1.0' +gem 'rake', '13.2.1' gem 'rubocop', '1.62.1' gem 'rubocop-minitest', '0.35.0' gem 'rubocop-rake', '0.6.0' gem 'simplecov', '0.22.0' gem 'test-unit', '3.6.2' gem 'timecop', '0.9.8' +gem 'tzinfo', '2.0.6' gem 'yard', '0.9.36' diff --git a/Gemfile.lock b/Gemfile.lock index 57b2b51aac..90adfd73e1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -28,7 +28,7 @@ GEM method_source (~> 1.0) racc (1.7.3) rainbow (3.1.1) - rake (13.1.0) + rake (13.2.1) regexp_parser (2.9.0) rexml (3.2.6) rubocop (1.62.1) @@ -59,6 +59,8 @@ GEM test-unit (3.6.2) power_assert timecop (0.9.8) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) unicode-display_width (2.5.0) yard (0.9.36) @@ -71,13 +73,14 @@ DEPENDENCIES faker! minitest (= 5.22.3) pry (= 0.14.2) - rake (= 13.1.0) + rake (= 13.2.1) rubocop (= 1.62.1) rubocop-minitest (= 0.35.0) rubocop-rake (= 0.6.0) simplecov (= 0.22.0) test-unit (= 3.6.2) timecop (= 0.9.8) + tzinfo (= 2.0.6) yard (= 0.9.36) BUNDLED WITH diff --git a/README.md b/README.md index 882153c852..7d7825fe57 100644 --- a/README.md +++ b/README.md @@ -486,9 +486,9 @@ gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'main ## Contributing -**Note**: We are not accepting proposals for new generators and locales. The [Contributing](CONTRIBUTING.md) guide has a few notes about this decision. +**Note**: We are not accepting proposals for new generators and locales. The [Contributing](https://github.com/faker-ruby/faker/blob/main/CONTRIBUTING.md) guide has a few notes about this decision. -Take a look at the [Contributing](CONTRIBUTING.md) document for +Take a look at the [Contributing](https://github.com/faker-ruby/faker/blob/main/CONTRIBUTING.md) document for instructions on setting up the repo on your machine, opening bug reports, understanding the codebase, and creating a good pull request. diff --git a/lib/locales/en/address.yml b/lib/locales/en/address.yml index 9f39f66dc9..e1b48b3b2d 100644 --- a/lib/locales/en/address.yml +++ b/lib/locales/en/address.yml @@ -1717,7 +1717,7 @@ en: - America/Godthab - Atlantic/South_Georgia - Atlantic/Azores - - Atlantic/Cabo_Verde + - Atlantic/Cape_Verde - Europe/Dublin - Europe/London - Europe/Lisbon diff --git a/lib/locales/en/food.yml b/lib/locales/en/food.yml index 6f64e456b3..4237c8cc4e 100644 --- a/lib/locales/en/food.yml +++ b/lib/locales/en/food.yml @@ -455,7 +455,8 @@ en: - Pumpkin Seed - Purple Carrot - Purple Rice - - Quark Quinc + - Quark + - Quince - Quinoa - Radicchio - Radish diff --git a/lib/locales/ko.yml b/lib/locales/ko.yml index a9a86172dc..cc693c8438 100644 --- a/lib/locales/ko.yml +++ b/lib/locales/ko.yml @@ -251,6 +251,111 @@ ko: - 혼란스러운 - 힘든 + creature: + animal: + name: + - 개 + - 개구리 + - 개미 + - 개코원숭이 + - 거미 + - 거북이 + - 거위 + - 게 + - 고래 + - 고릴라 + - 고슴도치 + - 고양이 + - 곰 + - 공룡 + - 굴 + - 기니피그 + - 기린 + - 까마귀 + - 나비 + - 낙타 + - 너구리 + - 늑대 + - 다람쥐 + - 달팽이 + - 당나귀 + - 도마뱀 + - 독수리 + - 돌고래 + - 돼지 + - 두꺼비 + - 딱정벌레 + - 말 + - 말벌 + - 매미 + - 메뚜기 + - 모기 + - 물고기 + - 물소 + - 바다 사자 + - 바다 코끼리 + - 바다소 + - 바퀴벌레 + - 박쥐 + - 백조 + - 뱀 + - 벌 + - 벌레 + - 비버 + - 사냥개 + - 사슴 + - 사자 + - 상어 + - 소 + - 송어 + - 수달 + - 순록 + - 스컹크 + - 아르마딜로 + - 악어 + - 알파카 + - 앤텔로프 + - 앵무새 + - 야마 + - 야크 + - 양 + - 얼룩말 + - 엘크 + - 여우 + - 연어 + - 염소 + - 오리 + - 오리너구리 + - 원숭이 + - 웜뱃 + - 임팔라 + - 정어리 + - 조개 + - 족제비 + - 쥐 + - 청어 + - 치타 + - 친칠라 + - 침팬지 + - 캥거루 + - 코끼리 + - 코뿔소 + - 코알라 + - 코요테 + - 토끼 + - 파리 + - 팬더 + - 표범 + - 하마 + - 하이에나 + - 해파리 + - 햄스터 + - 호넷 + - 호랑이 + - 호저 + - 황소 + - 흰개미 + color: name: - 빨간색 @@ -382,11 +487,613 @@ ko: - "#{prefix} #{Name.first_name}" - "#{Name.first_name} #{suffix}" + dessert: + variety: + - 과일 케이크 + - 꽈배기 + - 냉동 요구르트 + - 달고나 + - 달콤한 빵 + - 도넛 + - 떡 + - 붕어빵 + - 브라우니 + - 송편 + - 아이스크림 + - 아이스크림 케이크 + - 약과 + - 치즈 케잌 + - 커피 케이크 + - 컵케이크 + - 케이크 + - 쿠키 + - 키 라임 파이 + - 파르페 + - 파이 + - 팥빙수 + - 푸딩 + - 호떡 + topping: + - 가루 설탕 + - 글레이즈 + - 땅콩 + - 땅콩 버터 + - 레인보우 스프링클 + - 마시멜로 + - 버터스카치 시럽 + - 베이컨 + - 설탕 프로스팅 + - 시나몬 + - 인절미 + - 잼 + - 젤리곰 + - 초콜릿 스프링클 + - 초콜릿 시럽 + - 초콜릿 칩 + - 치즈케이크 바이트 + - 캐러멜 + - 쿠키 반죽 + - 호두 + - 휘핑 크림 + flavor: + - 녹차 + - 딸기 + - 땅콩 버터 + - 레드벨벳 + - 레몬 + - 말차 + - 민트 초코 + - 바나나 + - 바닐라 + - 버터 피칸 + - 버터스카치 + - 사과 + - 생일 케이크 + - 솔티드 캐러멜 + - 아몬드 + - 에스프레소 + - 오미자 + - 오트밀 + - 유자 + - 체리 + - 초콜릿 + - 치즈 케잌 + - 캐러멜 + - 코코넛 + - 쿠키앤크림 + - 피스타치오 + - 호박 + - 흑임자 + + food: + allergens: + - 게 + - 견과류 + - 고등어 + - 난류 + - 닭고기 + - 대두 + - 돼지고기 + - 땅콩 + - 머스타드 + - 메밀 + - 밀 + - 복숭아 + - 새우 + - 쇠고기 + - 아황산류 + - 오징어 + - 우유 + - 잣 + - 조개류 + - 토마토 + - 호두 + dish: + - 갈비 + - 갈비찜 + - 곱창 + - 김밥 + - 김치 + - 김치볶음밥 + - 김치찌개 + - 김치찜 + - 깐풍기 + - 닭갈비 + - 동치미 + - 된장찌개 + - 두부 + - 두부김치 + - 떡갈비 + - 떡볶이 + - 뚝배기 불고기 + - 마라탕 + - 막창 + - 만두 + - 물냉면 + - 버거 + - 보쌈 + - 불고기 + - 비빔냉면 + - 비빔밥 + - 삼겹살 + - 샐러드 + - 순두부찌개 + - 스시 + - 양꼬치 + - 잡채 + - 짜장면 + - 짬뽕 + - 청국장 + - 치즈버거 + - 치킨 + - 카레 + - 타코 + - 탕수육 + - 파스타 + - 파전 + - 피자 + - 해물 파전 + - 회 + ingredients: + - 가리비 + - 가지 + - 간장 + - 감자 + - 건포도 + - 견과류 + - 계란 + - 고구마 + - 고등어 + - 고수 + - 고추가루 + - 고추장 + - 김 + - 깻잎 + - 꿀 + - 녹두 + - 녹차 + - 당근 + - 당면 + - 대파 + - 돼지고기 + - 된장 + - 두유 + - 들기름 + - 딸기 + - 땅콩 + - 라임 + - 랍스터 + - 레몬 + - 리코타 + - 마늘 + - 망고 + - 메밀 + - 멜론 + - 면 + - 멸치 + - 모짜렐라 + - 무 + - 무화과 + - 문어 + - 미림 + - 미역 + - 밀가루 + - 배 + - 배추 + - 버섯 + - 버터 + - 복숭아 + - 부추 + - 브로콜리 + - 비파 + - 사과 + - 사과식초 + - 상추 + - 생강 + - 설탕 + - 셀러리 + - 소금 + - 소시지 + - 송어 + - 수박 + - 시금치 + - 시나몬 + - 식초 + - 쌀 + - 쌀국수 + - 쌈장 + - 알몬드 + - 액젓 + - 양배추 + - 양파 + - 연근 + - 연어 + - 오이 + - 오이고추 + - 오징어 + - 오트밀 + - 올리브 + - 요거트 + - 우유 + - 자두 + - 젤리 + - 참기름 + - 참깨 + - 참치 + - 청경채 + - 청양고추 + - 카놀라유 + - 코코넛 오일 + - 코코아 가루 + - 콜리플라워 + - 콩나물 + - 크림 치즈 + - 토마토 + - 파 + - 파인애플 + - 파파야 + - 파프리카 + - 팥 + - 팽이버섯 + - 포도 + - 표고버섯 + - 해바라기 씨 + - 해초 + - 현미 + - 호박 + - 홍합 + - 후추 + - 훈제 연어 + fruits: + - 감 + - 귤 + - 딸기 + - 라임 + - 레몬 + - 망고 + - 매실 + - 멜론 + - 무화과 + - 바나나 + - 배 + - 복숭아 + - 블루베리 + - 비파 + - 사과 + - 살구 + - 샤인 무스카트 + - 석류 + - 수박 + - 스타프루트 + - 아보카도 + - 애플망고 + - 유자 + - 자두 + - 참외 + - 천혜향 + - 체리 + - 키위 + - 파인애플 + - 파파야 + - 패션프루트 + - 포도 + - 한라봉 + vegetables: + - 가지 + - 감자 + - 고구마 + - 당근 + - 대파 + - 루콜라 + - 마늘 + - 부추 + - 브로콜리 + - 상추 + - 셀러리 + - 시금치 + - 아스파라거스 + - 아티초크 + - 애호박 + - 양배추 + - 양파 + - 오이 + - 오이고추 + - 청경채 + - 콜리플라워 + - 콩나물 + - 파 + - 호박 + + emotion: + adjective: + - 걱정하는 + - 게으른 + - 격렬한 + - 고마워하는 + - 고집스러운 + - 공격적인 + - 관심 있는 + - 낙관적인 + - 놀란 + - 다정한 + - 당황스러운 + - 두려워하는 + - 따뜻한 + - 반항적인 + - 버려진 + - 부러워하는 + - 불안정한 + - 불안해하는 + - 불편한 + - 불행한 + - 비관적인 + - 사려 깊은 + - 상냥한 + - 시무룩한 + - 실망한 + - 안전한 + - 양면적인 + - 역겨운 + - 열렬한 + - 예민한 + - 외로운 + - 용감한 + - 우울한 + - 음울한 + - 자랑스러운 + - 재미있는 + - 젊은 + - 즐기는 + - 짜증이 난 + - 침착한 + - 쾌활한 + - 탐욕스러운 + - 편안한 + - 평온한 + - 평화로운 + - 화난 + - 흡수된 + - 흥분한 + noun: + - 경멸 + - 고뇌 + - 고통 + - 공포 + - 공황 + - 기쁨 + - 낙담 + - 놀람 + - 다시 없는 기쁨 + - 당황 + - 동정심 + - 두려움 + - 배려 + - 부러움 + - 불안 + - 불쾌 + - 사랑 + - 성가심 + - 실망 + - 싫음 + - 안도 + - 애정 + - 열광 + - 열성 + - 열정 + - 외로움 + - 자부심 + - 즐거움 + - 창피 + - 충격 + - 쾌활함 + - 행복감 + - 향수병 + - 향유 + - 화 + - 후회 + - 희망 + + games: + pokemon: + names: + - 갸라도스 + - 거북왕 + - 고라파덕 + - 고오스 + - 고우스트 + - 골덕 + - 꼬부기 + - 나옹 + - 나인테일 + - 내루미 + - 또가스 + - 또도가스 + - 라이츄 + - 라프라스 + - 럭키 + - 롱스톤 + - 루주라 + - 리자드 + - 리자몽 + - 마임맨 + - 망나뇽 + - 메타몽 + - 뮤 + - 뮤츠 + - 미뇽 + - 별가사리 + - 부스터 + - 샤미드 + - 스라크 + - 시라소몬 + - 식스테일 + - 신뇽 + - 썬더 + - 아쿠스타 + - 어니부기 + - 이브이 + - 이상해꽃 + - 이상해씨 + - 이상해풀 + - 잉어킹 + - 잠만보 + - 쥬피썬더 + - 파오리 + - 파이리 + - 파이어 + - 팬텀 + - 페르시온 + - 프리져 + - 피카츄 + - 홍수몬 + locations: + - 갈색시티 + - 검은먹시티 + - 고동마을 + - 금빛시티 + - 노랑시티 + - 달맞이산 + - 무지개시티 + - 보라타운 + - 블루시티 + - 상록숲 + - 상록시티 + - 석영고원 + - 쌍둥이섬 + - 연두마을 + - 연분홍시티 + - 은빛산 + - 인주시티 + - 태초마을 + - 홍련섬 + - 황토마을 + - 회색시티 + moves: + - 10만볼트 + - 거품광선 + - 고속이동 + - 고양이돈받기 + - 공중날기 + - 구멍파기 + - 김밥말이 + - 날개치기 + - 날려버리기 + - 냉동빔 + - 냉동펀치 + - 누르기 + - 눈보라 + - 독가루 + - 돌떨구기 + - 땅가르기 + - 막치기 + - 메가톤펀치 + - 몸통박치기 + - 물대포 + - 바람일으키기 + - 번개 + - 번개펀치 + - 분노 + - 불꽃세례 + - 불꽃펀치 + - 사이코키네시스 + - 성장 + - 솔라빔 + - 수면가루 + - 순간이동 + - 연속뺨치기 + - 연속펀치 + - 오로라빔 + - 요가포즈 + - 잎날가르기 + - 저리가루 + - 전광석화 + - 전기쇼크 + - 전기자석파 + - 지진 + - 최면술 + - 칼바람 + - 코골기 + - 태권당수 + - 파괴광선 + - 파도타기 + - 풀베기 + - 하이드로펌프 + - 할퀴기 + - 화염방사 + - 화염자동차 + - 환상빔 + - 흰안개 + gender: binary_types: - 여성 - 남성 + hobby: + activity: + - 배드민턴 + - 보드 게임 + - 사이클링 + - 사진술 + - 산책하기 + - 서예 + - 서핑 + - 수영 + - 스키 타기 + - 스포츠 + - 아이스 스케이팅 + - 야구 + - 양궁 + - 연기 + - 외국어 학습 + - 요가 + - 요리 + - 운동 + - 운전 + - 자수법 + - 재봉 + - 종이접기 + - 직소 퍼즐 + - 축구 + - 춤 + - 캠핑 + - 커피 로스팅 + - 컴퓨터 프로그래밍 + - 탁구 + - 태권도 + - 태극권 + - 테니스 + - 플라잉 요가 + + house: + furniture: + - 램프 + - 목욕통 + - 발판 + - 서랍 + - 소파 + - 식탁 + - 안락의자 + - 옷장 + - 의자 + - 이불 + - 찬장 + - 침대 + - 테이블 + rooms: + - 거실 + - 로프트 + - 발코니 + - 베란다 + - 식료품 저장실 + - 안방 + - 애틱 + - 주방 + - 지하실 + - 침실 + - 현관 + - 화장실 + internet: domain_suffix: - co.kr @@ -398,6 +1105,92 @@ ko: - or.kr - org + kpop: + girl_groups: + - (여자)아이들 + - 뉴진스 + - 레드벨벳 + - 르세라핌 + - 마마무 + - 미쓰에이 + - 브라운 아이드 걸스 + - 브레이브걸스 + - 블랙핑크 + - 소녀시대 + - 씨스타 + - 아이브 + - 아이즈원 + - 애프터스쿨 + - 에스파 + - 에이오에이 + - 에이핑크 + - 에프엑스 + - 원더걸스 + - 이엑스아이디 + - 카라 + - 투애니원 + - 트와이스 + - 티아라 + - 포미닛 + - 핑클 + boy_bands: + - FT아일랜드 + - 갓세븐 + - 데이식스 + - 동방신기 + - 디제이 디오씨 + - 루시 + - 몬스타엑스 + - 방탄소년단 + - 비스트 + - 빅뱅 + - 빅스 + - 샤이니 + - 세븐틴 + - 슈퍼주니어 + - 스트레이키즈 + - 씨엔블루 + - 에이치오티 + - 에픽하이 + - 엑소 + - 엠블랙 + - 워너원 + - 위너 + - 인피니트 + - 터보 + - 투모로우바이투게더 + - 투에이엠 + - 투피엠 + solo: + - 강다니엘 + - 딘 + - 박재범 + - 보아 + - 비오 + - 빅나티 + - 산이 + - 선미 + - 세븐 + - 싸이 + - 아이유 + - 알엠 + - 애쉬 아일랜드 + - 에릭남 + - 에일리 + - 오존 + - 이하이 + - 이효리 + - 자이언티 + - 전소미 + - 제시 + - 지드래곤 + - 지코 + - 청하 + - 크러쉬 + - 탑 + - 헤이즈 + - 현아 + lorem: words: - 국가는 @@ -529,6 +1322,31 @@ ko: - 효력을 - 가진다. + movie: + title: + - 7번방의 선물 + - 겨울왕국 + - 과속스캔들 + - 괴물 + - 국제시장 + - 기생충 + - 도둑들 + - 명량 + - 미녀는 괴로워 + - 범죄도시 + - 베테랑 + - 부산행 + - 센과 치히로의 행방불명 + - 써니 + - 아바타 + - 알라딘 + - 인터스텔라 + - 친구 + - 타이타닉 + - 택시운전사 + - 포레스트 검프 + - 해리 포터와 마법사의 돌 + name: last_name: - 김 @@ -603,3 +1421,53 @@ ko: - 삼각형자리 은하 - 센타우루스자리 A - 조각가자리 은하 + + studio_ghibli: + characters: + - 가오나시 + - 나우시카 + - 도라 + - 린 + - 마니 + - 마르클 + - 모노노케 + - 무스카 + - 소스케 + - 소피 + - 쇼 + - 시타 + - 아리에티 + - 아시타카 + - 안나 + - 오소노 + - 우르슬라 + - 유바바 + - 제니바 + - 지지 + - 치히로 + - 캘시퍼 + - 쿠사카베 메이 + - 쿠사카베 사츠키 + - 키키 + - 토토로 + - 톰보 + - 파즈 + - 포뇨 + - 포르코 로소 + - 하울 + - 하쿠 + - 황야의 마녀 + movies: + - 귀를 기울이면 + - 마녀 배달부 키키 + - 마루 밑 아리에티 + - 모노노케 히메 + - 바람계곡의 나우시카 + - 반딧불의 묘 + - 벼랑 위의 포뇨 + - 붉은 돼지 + - 센과 치히로의 행방불명 + - 이웃집 토토로 + - 천공의 성 라퓨타 + - 추억의 마니 + - 하울의 움직이는 성 diff --git a/test/test_en_locale.rb b/test/test_en_locale.rb index d6dec7eed5..dcf225d859 100644 --- a/test/test_en_locale.rb +++ b/test/test_en_locale.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require 'tzinfo' require_relative 'test_helper' class TestEnLocale < Test::Unit::TestCase @@ -39,6 +40,13 @@ def test_values_trimmed check_hash(en_file) end + def test_en_timezones_are_valid_iana_identifiers + faker_time_zones = Faker::Address.translate('faker.address.time_zone') + iana_time_zones = TZInfo::Timezone.all_identifiers + + assert_empty(faker_time_zones.difference(iana_time_zones), "Found a time zone that isn't a valid IANA time zone identifier") + end + def check_hash(hash) hash.each { |key, value| check_value(value) unless key == 'separator' } end diff --git a/test/test_ko_locale.rb b/test/test_ko_locale.rb index 3e1c3d9bf2..81b7e5dab4 100644 --- a/test/test_ko_locale.rb +++ b/test/test_ko_locale.rb @@ -31,6 +31,10 @@ def test_ko_adjective_methods assert_kind_of String, Faker::Adjective.negative end + def test_ko_animal_methods + assert_kind_of String, Faker::Creature::Animal.name + end + def test_ko_color_methods assert_kind_of String, Faker::Color.color_name end @@ -48,20 +52,64 @@ def test_ko_company_methods assert_kind_of String, Faker::Company.name end + def test_ko_dessert_methods + assert_kind_of String, Faker::Dessert.variety + assert_kind_of String, Faker::Dessert.topping + assert_kind_of String, Faker::Dessert.flavor + end + + def test_ko_emotion_methods + assert_kind_of String, Faker::Emotion.adjective + assert_kind_of String, Faker::Emotion.noun + end + + def test_ko_food_methods + assert_kind_of String, Faker::Food.allergens + assert_kind_of String, Faker::Food.dish + assert_kind_of String, Faker::Food.ingredients + assert_kind_of String, Faker::Food.fruits + assert_kind_of String, Faker::Food.vegetables + end + + def test_ko_games_pokemon_methods + assert_kind_of String, Faker::Games::Pokemon.name + assert_kind_of String, Faker::Games::Pokemon.location + assert_kind_of String, Faker::Games::Pokemon.move + end + def test_ko_gender_methods assert_kind_of String, Faker::Gender.binary_type assert_not_english(Faker::Gender.binary_type) end + def test_ko_hobby_methods + assert_kind_of String, Faker::Hobby.activity + end + + def test_ko_house_methods + assert_kind_of String, Faker::House.furniture + assert_kind_of String, Faker::House.room + end + def test_ko_internet_methods assert_kind_of String, Faker::Internet.email assert_kind_of String, Faker::Internet.domain_suffix end + def test_ko_kpop_methods + assert_kind_of String, Faker::Kpop.boy_bands + assert_kind_of String, Faker::Kpop.girl_groups + assert_kind_of String, Faker::Kpop.solo + end + def test_ko_lorem_methods assert_kind_of Array, Faker::Lorem.words end + def test_ko_movie_methods + assert_kind_of String, Faker::Movie.title + end + def test_ko_name_methods assert_kind_of String, Faker::Name.last_name assert_kind_of String, Faker::Name.first_name @@ -77,4 +125,9 @@ def test_ko_space_methods assert_kind_of String, Faker::Space.planet assert_kind_of String, Faker::Space.galaxy end + + def test_ko_studio_ghibli_methods + assert_kind_of String, Faker::JapaneseMedia::StudioGhibli.character + assert_kind_of String, Faker::JapaneseMedia::StudioGhibli.movie + end end