From 99024404da7cffdfaceb2bb7b8cd4907ed2bdfcc Mon Sep 17 00:00:00 2001 From: lsv Date: Mon, 17 Jun 2013 01:22:10 +0200 Subject: [PATCH] Moved all color methods to a provider, and added - safeHexColor - safeColorName - colorName --- readme.md | 11 ++- src/Faker/Provider/Color.php | 124 +++++++++++++++++++++++++++ src/Faker/Provider/Miscellaneous.php | 37 -------- test/Faker/Provider/BaseTest.php | 23 ----- test/Faker/Provider/ColorTest.php | 32 +++++++ 5 files changed, 164 insertions(+), 63 deletions(-) create mode 100644 src/Faker/Provider/Color.php create mode 100644 test/Faker/Provider/ColorTest.php diff --git a/readme.md b/readme.md index 1f3e5ae6..d95a07b8 100644 --- a/readme.md +++ b/readme.md @@ -154,9 +154,6 @@ Each of the generator properties (like `name`, `address`, and `lorem`) are calle locale // en_UK countryCode // UK languageCode // en - hexcolor // #fa3cc2 - rgbcolor() // 0,255,122 - rgbColorAsArray() // array(0,255,122) ### `Faker\Provider\Base` @@ -189,6 +186,14 @@ Each of the generator properties (like `name`, `address`, and `lorem`) are calle fileExtension // 'avi' mimeType // 'video/x-msvideo' +### `Faker\Provider\Color` + + hexcolor // '#fa3cc2' + rgbcolor // '0,255,122' + rgbColorAsArray // array(0,255,122) + safeColorName // 'fuchsia' + colorName // 'Gainsbor' + ## Localization `Faker\Factory` can take a locale as an argument, to return localized data. If no localized provider is found, the factory fallbacks to the default locale (en_EN). diff --git a/src/Faker/Provider/Color.php b/src/Faker/Provider/Color.php new file mode 100644 index 00000000..ff7b679d --- /dev/null +++ b/src/Faker/Provider/Color.php @@ -0,0 +1,124 @@ +assertRegExp('/foo[a-z]Ba\dr/', BaseProvider::bothify('foo?Ba#r')); } - - public function testHexColor() - { - $faker = Faker\Factory::create(); - $color = $faker->hexColor; - $this->assertRegExp('/^#[a-f0-9]{6}$/i', $color); - } - - public function testRgbColorAsArray() - { - $faker = Faker\Factory::create(); - $color = $faker->rgbColorAsArray; - $this->assertEquals(3, count($color)); - } - - public function testRgbColor() - { - $faker = Faker\Factory::create(); - $color = $faker->rgbColor(); - $regexp = '([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])'; - $this->assertRegExp('/^' . $regexp . ',' . $regexp . ',' . $regexp . '$/i', $color); - } } diff --git a/test/Faker/Provider/ColorTest.php b/test/Faker/Provider/ColorTest.php new file mode 100644 index 00000000..e9eb67bc --- /dev/null +++ b/test/Faker/Provider/ColorTest.php @@ -0,0 +1,32 @@ +hexColor; + $this->assertRegExp('/^#[a-f0-9]{6}$/i', $color); + } + + public function testRgbColorAsArray() + { + $faker = Faker\Factory::create(); + $color = $faker->rgbColorAsArray; + $this->assertEquals(3, count($color)); + } + + public function testRgbColor() + { + $faker = Faker\Factory::create(); + $color = $faker->rgbColor(); + $regexp = '([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])'; + $this->assertRegExp('/^' . $regexp . ',' . $regexp . ',' . $regexp . '$/i', $color); + } + +} \ No newline at end of file