1
0
mirror of https://github.com/fzaninotto/Faker.git synced 2025-03-24 09:19:50 +01:00

Merge pull request #273 from terite/psr2

Sniff PSR-2 as part of travis + fixes + PR 210
This commit is contained in:
Francois Zaninotto 2014-04-13 22:04:49 +02:00
commit 675fe90cce
35 changed files with 193 additions and 93 deletions

View File

@ -14,4 +14,4 @@ before_script:
- composer self-update
- composer install --dev
script: phpunit
script: make sniff test

10
Makefile Normal file
View File

@ -0,0 +1,10 @@
vendor/autoload.php:
composer install
.PHONY: sniff
sniff: vendor/autoload.php
vendor/bin/phpcs --standard=PSR2 src -n
.PHONY: test
test: vendor/autoload.php
vendor/bin/phpunit

View File

@ -12,6 +12,10 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"squizlabs/php_codesniffer": "~1.5"
},
"autoload": {
"psr-0": {
"Faker": "src/",

View File

@ -18,45 +18,75 @@ class Name
$name = Base::toLower($name);
$generator = $this->generator;
if (preg_match('/^is[_A-Z]/', $name)) {
return function() use ($generator) { return $generator->boolean; };
return function () use ($generator) {
return $generator->boolean;
};
}
if (preg_match('/(_a|A)t$/', $name)) {
return function() use ($generator) { return $generator->dateTime; };
return function () use ($generator) {
return $generator->dateTime;
};
}
switch ($name) {
case 'first_name':
case 'firstname':
return function() use ($generator) { return $generator->firstName; };
return function () use ($generator) {
return $generator->firstName;
};
case 'last_name':
case 'lastname':
return function() use ($generator) { return $generator->lastName; };
return function () use ($generator) {
return $generator->lastName;
};
case 'username':
case 'login':
return function() use ($generator) { return $generator->userName; };
return function () use ($generator) {
return $generator->userName;
};
case 'email':
return function() use ($generator) { return $generator->email; };
return function () use ($generator) {
return $generator->email;
};
case 'phone_number':
case 'phonenumber':
case 'phone':
return function() use ($generator) { return $generator->phoneNumber; };
return function () use ($generator) {
return $generator->phoneNumber;
};
case 'address':
return function() use ($generator) { return $generator->address; };
return function () use ($generator) {
return $generator->address;
};
case 'city':
return function() use ($generator) { return $generator->city; };
return function () use ($generator) {
return $generator->city;
};
case 'streetaddress':
return function() use ($generator) { return $generator->streetAddress; };
return function () use ($generator) {
return $generator->streetAddress;
};
case 'postcode':
case 'zipcode':
return function() use ($generator) { return $generator->postcode; };
return function () use ($generator) {
return $generator->postcode;
};
case 'state':
return function() use ($generator) { return $generator->state; };
return function () use ($generator) {
return $generator->state;
};
case 'country':
return function() use ($generator) { return $generator->country; };
return function () use ($generator) {
return $generator->country;
};
case 'title':
return function() use ($generator) { return $generator->sentence; };
return function () use ($generator) {
return $generator->sentence;
};
case 'body':
case 'summary':
return function() use ($generator) { return $generator->text; };
return function () use ($generator) {
return $generator->text;
};
}
}
}

View File

@ -18,5 +18,4 @@ class NullGenerator
{
return null;
}
}

View File

@ -19,29 +19,47 @@ class ColumnTypeGuesser
$type = $class->getTypeOfField($fieldName);
switch ($type) {
case 'boolean':
return function() use ($generator) { return $generator->boolean; };
return function () use ($generator) {
return $generator->boolean;
};
case 'decimal':
$size = isset($class->fieldMappings[$fieldName]['precision']) ? $class->fieldMappings[$fieldName]['precision'] : 2;
return function() use ($generator, $size) { return $generator->randomNumber($size + 2) / 100; };
return function () use ($generator, $size) {
return $generator->randomNumber($size + 2) / 100;
};
case 'smallint':
return function() { return mt_rand(0,65535); };
return function () {
return mt_rand(0, 65535);
};
case 'integer':
return function() { return mt_rand(0,intval('2147483647')); };
return function () {
return mt_rand(0, intval('2147483647'));
};
case 'bigint':
return function() { return mt_rand(0,intval('18446744073709551615')); };
return function () {
return mt_rand(0, intval('18446744073709551615'));
};
case 'float':
return function() { return mt_rand(0,intval('4294967295'))/mt_rand(1,intval('4294967295')); };
return function () {
return mt_rand(0, intval('4294967295'))/mt_rand(1, intval('4294967295'));
};
case 'string':
$size = isset($class->fieldMappings[$fieldName]['length']) ? $class->fieldMappings[$fieldName]['length'] : 255;
return function() use ($generator, $size) { return $generator->text($size); };
return function () use ($generator, $size) {
return $generator->text($size);
};
case 'text':
return function() use ($generator) { return $generator->text; };
return function () use ($generator) {
return $generator->text;
};
case 'datetime':
case 'date':
case 'time':
return function() use ($generator) { return $generator->datetime; };
case 'time':
return function () use ($generator) {
return $generator->datetime;
};
default:
// no smart way to guess what the user expects here
return null;

View File

@ -5,7 +5,6 @@ namespace Faker\ORM\Doctrine;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Mapping\ClassMetadata;
use Faker\ORM\Doctrine\ColumnTypeGuesser;
/**
* Service class for populating a table through a Doctrine Entity class.
@ -78,7 +77,7 @@ class EntityPopulator
$formatters = array();
$nameGuesser = new \Faker\Guesser\Name($generator);
$columnTypeGuesser = new ColumnTypeGuesser($generator);
foreach ($this->class->getFieldNames() AS $fieldName) {
foreach ($this->class->getFieldNames() as $fieldName) {
if ($this->class->isIdentifier($fieldName) || !$this->class->hasField($fieldName)) {
continue;
}
@ -93,7 +92,7 @@ class EntityPopulator
}
}
foreach ($this->class->getAssociationNames() AS $assocName) {
foreach ($this->class->getAssociationNames() as $assocName) {
if ($this->class->isCollectionValuedAssociation($assocName)) {
continue;
}
@ -113,7 +112,7 @@ class EntityPopulator
}
$index = 0;
$formatters[$assocName] = function($inserted) use ($relatedClass, &$index, $unique, $optional) {
$formatters[$assocName] = function ($inserted) use ($relatedClass, &$index, $unique, $optional) {
if ($unique && isset($inserted[$relatedClass])) {
$related = null;
if (isset($inserted[$relatedClass][$index]) || !$optional) {

View File

@ -75,5 +75,4 @@ class Populator
return $insertedEntities;
}
}

View File

@ -16,15 +16,25 @@ class ColumnTypeGuesser
$generator = $this->generator;
switch ($field['type']) {
case 'boolean':
return function() use ($generator) { return $generator->boolean; };
return function () use ($generator) {
return $generator->boolean;
};
case 'integer':
return function() { return mt_rand(0,intval('4294967295')); };
return function () {
return mt_rand(0, intval('4294967295'));
};
case 'float':
return function() { return mt_rand(0,intval('4294967295'))/mt_rand(1,intval('4294967295')); };
return function () {
return mt_rand(0, intval('4294967295'))/mt_rand(1, intval('4294967295'));
};
case 'string':
return function() use ($generator) { return $generator->text(255); };
return function () use ($generator) {
return $generator->text(255);
};
case 'date':
return function() use ($generator) { return $generator->datetime; };
return function () use ($generator) {
return $generator->datetime;
};
default:
// no smart way to guess what the user expects here
return null;

View File

@ -92,11 +92,8 @@ class EntityPopulator
if (null !== $format) {
$value = is_callable($format) ? $format($insertedEntities, $obj) : $format;
if (
isset($metadata['fields'][$column])
||
isset($metadata['referencesOne'][$column])
) {
if (isset($metadata['fields'][$column]) ||
isset($metadata['referencesOne'][$column])) {
$obj->set($column, $value);
}

View File

@ -19,51 +19,77 @@ class ColumnTypeGuesser
$generator = $this->generator;
if ($column->isTemporal()) {
if ($column->isEpochTemporal()) {
return function() use ($generator) { return $generator->dateTime; };
return function () use ($generator) {
return $generator->dateTime;
};
} else {
return function() use ($generator) { return $generator->dateTimeAD; };
return function () use ($generator) {
return $generator->dateTimeAD;
};
}
}
$type = $column->getType();
switch ($type) {
case PropelColumnTypes::BOOLEAN:
case PropelColumnTypes::BOOLEAN_EMU:
return function() use ($generator) { return $generator->boolean; };
return function () use ($generator) {
return $generator->boolean;
};
case PropelColumnTypes::NUMERIC:
case PropelColumnTypes::DECIMAL:
$size = $column->getSize();
return function() use ($generator, $size) { return $generator->randomNumber($size + 2) / 100; };
return function () use ($generator, $size) {
return $generator->randomNumber($size + 2) / 100;
};
case PropelColumnTypes::TINYINT:
return function() { return mt_rand(0,127); };
return function () {
return mt_rand(0, 127);
};
case PropelColumnTypes::SMALLINT:
return function() { return mt_rand(0,32767); };
return function () {
return mt_rand(0, 32767);
};
case PropelColumnTypes::INTEGER:
return function() { return mt_rand(0,intval('2147483647')); };
return function () {
return mt_rand(0, intval('2147483647'));
};
case PropelColumnTypes::BIGINT:
return function() { return mt_rand(0,intval('9223372036854775807')); };
return function () {
return mt_rand(0, intval('9223372036854775807'));
};
case PropelColumnTypes::FLOAT:
return function() { return mt_rand(0,intval('2147483647'))/mt_rand(1,intval('2147483647')); };
return function () {
return mt_rand(0, intval('2147483647'))/mt_rand(1, intval('2147483647'));
};
case PropelColumnTypes::DOUBLE:
case PropelColumnTypes::REAL:
return function() { return mt_rand(0,intval('9223372036854775807'))/mt_rand(1,intval('9223372036854775807')); };
return function () {
return mt_rand(0, intval('9223372036854775807'))/mt_rand(1, intval('9223372036854775807'));
};
case PropelColumnTypes::CHAR:
case PropelColumnTypes::VARCHAR:
case PropelColumnTypes::BINARY:
case PropelColumnTypes::VARBINARY:
$size = $column->getSize();
return function() use ($generator, $size) { return $generator->text($size); };
return function () use ($generator, $size) {
return $generator->text($size);
};
case PropelColumnTypes::LONGVARCHAR:
case PropelColumnTypes::LONGVARBINARY:
case PropelColumnTypes::CLOB:
case PropelColumnTypes::CLOB_EMU:
case PropelColumnTypes::BLOB:
return function() use ($generator) { return $generator->text; };
return function () use ($generator) {
return $generator->text;
};
case PropelColumnTypes::ENUM:
$valueSet = $column->getValueSet();
return function() use ($generator, $valueSet) { return $generator->randomElement($valueSet); };
return function () use ($generator, $valueSet) {
return $generator->randomElement($valueSet);
};
case PropelColumnTypes::OBJECT:
case PropelColumnTypes::PHP_ARRAY:
// no smart way to guess what the user expects here

View File

@ -59,7 +59,9 @@ class EntityPopulator
}
if ($columnMap->isForeignKey()) {
$relatedClass = $columnMap->getRelation()->getForeignTable()->getClassname();
$formatters[$columnMap->getPhpName()] = function($inserted) use ($relatedClass) { return isset($inserted[$relatedClass]) ? $inserted[$relatedClass][mt_rand(0, count($inserted[$relatedClass]) - 1)] : null; };
$formatters[$columnMap->getPhpName()] = function ($inserted) use ($relatedClass) {
return isset($inserted[$relatedClass]) ? $inserted[$relatedClass][mt_rand(0, count($inserted[$relatedClass]) - 1)] : null;
};
continue;
}
if ($columnMap->isPrimaryKey()) {
@ -125,7 +127,7 @@ class EntityPopulator
foreach ($tableMap->getBehaviors() as $name => $params) {
switch ($name) {
case 'nested_set':
$modifiers['nested_set'] = function($obj, $inserted) use ($class, $generator) {
$modifiers['nested_set'] = function ($obj, $inserted) use ($class, $generator) {
if (isset($inserted[$class])) {
$queryClass = $class . 'Query';
$parent = $queryClass::create()->findPk($generator->randomElement($inserted[$class]));
@ -136,7 +138,7 @@ class EntityPopulator
};
break;
case 'sortable':
$modifiers['sortable'] = function($obj, $inserted) use ($class, $generator) {
$modifiers['sortable'] = function ($obj, $inserted) use ($class, $generator) {
$maxRank = isset($inserted[$class]) ? count($inserted[$class]) : 0;
$obj->insertAtRank(mt_rand(1, $maxRank + 1));
};
@ -165,5 +167,4 @@ class EntityPopulator
return $obj->getPrimaryKey();
}
}

View File

@ -83,5 +83,4 @@ class Populator
return \Propel::getConnection($peer::DATABASE_NAME, \Propel::CONNECTION_WRITE);
}
}

View File

@ -7,7 +7,7 @@ namespace Faker\Provider;
*/
class Barcode extends \Faker\Provider\Base
{
private function ean($length=13)
private function ean($length = 13)
{
$code = array();
for ($i = 0; $i < $length - 1; $i++) {

View File

@ -236,9 +236,15 @@ class Payment extends Base
}
switch ($class) {
default:
case 'c': $result .= mt_rand(0, 100) <= 50 ? static::randomDigit() : strtoupper(static::randomLetter()); break;
case 'a': $result .= strtoupper(static::randomLetter()); break;
case 'n': $result .= static::randomDigit(); break;
case 'c':
$result .= mt_rand(0, 100) <= 50 ? static::randomDigit() : strtoupper(static::randomLetter());
break;
case 'a':
$result .= strtoupper(static::randomLetter());
break;
case 'n':
$result .= static::randomDigit();
break;
}
}
@ -252,8 +258,9 @@ class Payment extends Base
$checksum = (10 * $checksum + (int) $tempResult[$i]) % 97;
}
$checksum = 98 - $checksum;
if ($checksum < 10)
if ($checksum < 10) {
$checksum = '0'.$checksum;
}
return $countryCode . $checksum . $result;
}

View File

@ -53,7 +53,9 @@ abstract class Text extends \Faker\Provider\Base
$next = implode(' ', $currentWords);
// ensure text starts with an uppercase letter
if ($resultLength == 0 && !preg_match('/^\p{Lu}/u', $word)) continue;
if ($resultLength == 0 && !preg_match('/^\p{Lu}/u', $word)) {
continue;
}
// append the element
$result[] = $word;

View File

@ -39,8 +39,17 @@ class Uuid extends \Faker\Provider\Base
// cast to string
$uuid = sprintf(
'%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x',
$tLo, $tMi, $tHi, $csHi, $csLo,
$byte[10], $byte[11], $byte[12], $byte[13], $byte[14], $byte[15]
$tLo,
$tMi,
$tHi,
$csHi,
$csLo,
$byte[10],
$byte[11],
$byte[12],
$byte[13],
$byte[14],
$byte[15]
);
return $uuid;

View File

@ -2,8 +2,6 @@
namespace Faker\Provider\bn_BD;
use Faker\Provider\bn_BD\Utils;
class Address extends \Faker\Provider\Address
{
protected static $cityPrefix = array('দক্ষিন', 'পূর্ব', 'পশ্চিম', 'উত্তর', 'নতুন', 'লেইক', 'পোর্ট');
@ -57,5 +55,4 @@ class Address extends \Faker\Provider\Address
{
return static::randomElement(static::$streetNames);
}
}

View File

@ -25,5 +25,4 @@ class Company extends \Faker\Provider\Company
{
return static::randomElement(static::$names);
}
}

View File

@ -32,5 +32,4 @@ class Person extends \Faker\Provider\Person
{
return static::randomElement(static::$prefix);
}
}

View File

@ -2,8 +2,6 @@
namespace Faker\Provider\bn_BD;
use Faker\Provider\bn_BD\Utils;
class PhoneNumber extends \Faker\Provider\PhoneNumber
{
public static function phoneNumber()
@ -13,5 +11,4 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
return Utils::getBanglaNumber($number);
}
}

View File

@ -184,5 +184,4 @@ class Person extends \Faker\Provider\Person
{
return static::randomElement(static::$lastNameFemale);
}
}

View File

@ -54,5 +54,4 @@ class Address extends \Faker\Provider\en_US\Address
{
return static::toUpper(static::randomElement(static::$buildingLetters));
}
}

View File

@ -60,5 +60,4 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber
{
return static::numerify(static::randomElement(static::$areacodes));
}
}

View File

@ -30,5 +30,4 @@ class Person extends \Faker\Provider\Person
{
return static::randomElement(static::$prefix);
}
}

View File

@ -124,7 +124,9 @@ class Company extends \Faker\Provider\Company
$isEven = $position++ % 2 === 0;
$tmp = $isEven ? $sequentialDigit * 2 : $sequentialDigit;
if ($tmp >= 10) $tmp -= 9;
if ($tmp >= 10) {
$tmp -= 9;
}
$sum += $tmp;
$siret = $sequentialDigit . $siret;
@ -140,7 +142,9 @@ class Company extends \Faker\Provider\Company
$isEven = $position++ % 2 === 0;
$tmp = $isEven ? $digit * 2 : $digit;
if ($tmp >= 10) $tmp -= 9;
if ($tmp >= 10) {
$tmp -= 9;
}
$sum += $tmp;
$siret = $digit . $siret;

View File

@ -81,5 +81,4 @@ class Person extends \Faker\Provider\Person
{
return static::randomElement(static::$lastKanaName);
}
}

View File

@ -124,5 +124,4 @@ class Address extends \Faker\Provider\Address
{
return number_format(mt_rand(19260000, 19270000)/1000000, 6);
}
}

View File

@ -46,5 +46,4 @@ class Company extends \Faker\Provider\Company
{
return static::randomElement(static::$names);
}
}

View File

@ -34,7 +34,7 @@ class Company extends \Faker\Provider\Company
*/
public static function regon()
{
$weights = Array(8, 9, 2, 3, 4, 5, 6, 7);
$weights = array(8, 9, 2, 3, 4, 5, 6, 7);
$regionNumber = static::numberBetween(0, 49) * 2 + 1;
$result = array((int) ($regionNumber / 10), $regionNumber % 10);
for ($i = 2, $size = count($weights); $i < $size; $i++) {

View File

@ -90,7 +90,7 @@ class Person extends \Faker\Provider\Person
$checksum = (10 - ($checksum % 10)) % 10;
$result[] = $checksum;
return implode('',$result);
return implode('', $result);
}
/**
@ -113,7 +113,7 @@ class Person extends \Faker\Provider\Person
}
$checksum %= 10;
return implode('',$low).$checksum.implode('',$high);
return implode('', $low).$checksum.implode('', $high);
}
/**

View File

@ -15,8 +15,11 @@ class Internet extends \Faker\Provider\Internet
*/
private static function toAscii($string)
{
return preg_replace('/&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);/i', '$1',
htmlentities($string, ENT_QUOTES, 'UTF-8'));
return preg_replace(
'/&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);/i',
'$1',
htmlentities($string, ENT_QUOTES, 'UTF-8')
);
}
/**

View File

@ -89,5 +89,4 @@ class Address extends \Faker\Provider\Address
{
return static::randomElement(static::$cityNames);
}
}

View File

@ -23,5 +23,4 @@ class Company extends \Faker\Provider\Company
{
return parent::companySuffix() . '有限公司';
}
}

View File

@ -7,7 +7,7 @@
* Code inspired from the SplClassLoader RFC
* @see https://wiki.php.net/rfc/splclassloader#example_implementation
*/
spl_autoload_register(function($className) {
spl_autoload_register(function ($className) {
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';