1
0
mirror of https://github.com/fzaninotto/Faker.git synced 2025-03-22 08:19:52 +01:00

Merge pull request #222 from kzykhys/ja_JP

Add 'kana' name formatters (ja_JP)
This commit is contained in:
Francois Zaninotto 2013-12-17 00:51:42 -08:00
commit ea6b96b60a
3 changed files with 106 additions and 0 deletions

15
readme.md Normal file → Executable file
View File

@ -735,6 +735,21 @@ echo $faker->bankAccountNumber; // "PL14968907563953822118075816"
```
### `Faker\Provider\ja_JP\Person`
```php
<?php
// Generates a 'kana' name
echo $faker->kanaName; // "アオタ ナオコ"
// Generates a 'kana' first name
echo $faker->firstKanaName; // "トモミ"
// Generates a 'kana' last name
echo $faker->lastKanaName; // "ナギサ"
```
## License
Faker is released under the MIT Licence. See the bundled LICENSE file for details.

53
src/Faker/Provider/ja_JP/Person.php Normal file → Executable file
View File

@ -29,4 +29,57 @@ class Person extends \Faker\Provider\Person
'三宅', '村山',
'山田', '吉本'
);
protected static $kanaFormats = array(
'{{lastKanaName}} {{firstKanaName}}'
);
protected static $firstKanaName = array(
'アキラ', 'アケミ', 'アスカ', 'オサム',
'カナ', 'キョウスケ', 'ケンイチ', 'クミコ',
'ジュン', 'ソウタロウ',
'タロウ', 'チヨ', 'トモミ', 'トモヤ',
'ナオキ', 'ナオコ',
'ハナコ', 'ヒロシ',
'ミツル', 'モモコ',
'ユミコ', 'リカ',
);
protected static $lastKanaName = array(
'アオタ', 'イダカ', 'ウノ', 'エコダ', 'オオガキ',
'カノウ', 'キジマ', 'クドウ', 'コイズミ',
'ササダ', 'スズキ', 'スギヤマ',
'タナベ', 'ツダ',
'ナギサ', 'ナカツガワ', 'ニシノソノ',
'ハラダ', 'ハマダ', 'ヒロカワ', 'フジモト',
'ミヤケ', 'ムラヤマ',
'ヤマダ', 'ヨシモト'
);
/**
* @example 'アオタ アキラ'
*/
public function kanaName()
{
$format = static::randomElement(static::$kanaFormats);
return $this->generator->parse($format);
}
/**
* @example 'アオタ'
*/
public static function firstKanaName()
{
return static::randomElement(static::$firstKanaName);
}
/**
* @example 'アキラ'
*/
public static function lastKanaName()
{
return static::randomElement(static::$lastKanaName);
}
}

View File

@ -0,0 +1,38 @@
<?php
namespace Faker\Test\Provider\ja_JP;
use Faker\Generator;
use Faker\Provider\ja_JP\Person;
class PersonTest extends \PHPUnit_Framework_TestCase
{
public function testKanaNameReturnsAotaNaoko()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);
$this->assertEquals('アオタ ナオコ', $faker->kanaName());
}
public function testFirstKanaNameReturnsTomomi()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);
$this->assertEquals('トモミ', $faker->firstKanaName);
}
public function testLastKanaNameReturnsNagisa()
{
$faker = new Generator();
$faker->addProvider(new Person($faker));
$faker->seed(1);
$this->assertEquals('ナギサ', $faker->lastKanaName);
}
}