From ba39896accdc6b49e538feda9ebaa79d4eb6567b Mon Sep 17 00:00:00 2001 From: Benjamin Laugueux Date: Fri, 14 Sep 2012 17:53:16 +0200 Subject: [PATCH] Added new UserAgent provider. --- readme.md | 9 ++ src/Faker/Provider/UserAgent.php | 161 ++++++++++++++++++++++++++ test/Faker/Provider/UserAgentTest.php | 40 +++++++ 3 files changed, 210 insertions(+) create mode 100644 src/Faker/Provider/UserAgent.php create mode 100644 test/Faker/Provider/UserAgentTest.php diff --git a/readme.md b/readme.md index 317827ba..8cdac67e 100644 --- a/readme.md +++ b/readme.md @@ -161,6 +161,15 @@ Each of the generator properties (like `name`, `address`, and `lorem`) are calle lexify($string = '????') // 'wgts' bothify($string = '## ??') // '42 jz' +### `Faker\Provider\UserAgent` + + userAgent // 'Mozilla/5.0 (Windows CE) AppleWebKit/5350 (KHTML, like Gecko) Chrome/13.0.888.0 Safari/5350' + chrome // 'Mozilla/5.0 (Macintosh; PPC Mac OS X 10_6_5) AppleWebKit/5312 (KHTML, like Gecko) Chrome/14.0.894.0 Safari/5312' + firefox // 'Mozilla/5.0 (X11; Linuxi686; rv:7.0) Gecko/20101231 Firefox/3.6' + safari // 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_1 rv:3.0; en-US) AppleWebKit/534.11.3 (KHTML, like Gecko) Version/4.0 Safari/534.11.3' + opera // 'Opera/8.25 (Windows NT 5.1; en-US) Presto/2.9.188 Version/10.00' + internetExplorer // 'Mozilla/5.0 (compatible; MSIE 7.0; Windows 98; Win 9x 4.90; Trident/3.0)' + ## 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/UserAgent.php b/src/Faker/Provider/UserAgent.php new file mode 100644 index 00000000..e0bc5a91 --- /dev/null +++ b/src/Faker/Provider/UserAgent.php @@ -0,0 +1,161 @@ +assertNotNull(UserAgent::userAgent()); + } + + public function testFirefoxUserAgent() + { + $this->stringContains(' Firefox/', UserAgent::firefox()); + } + + public function testSafariUserAgent() + { + $this->stringContains('Safari/', UserAgent::safari()); + } + + public function testInternetExplorerUserAgent() + { + $this->assertStringStartsWith('Mozilla/5.0 (compatible; MSIE ', UserAgent::internetExplorer()); + } + + public function testOperaUserAgent() + { + $this->assertStringStartsWith('Opera/', UserAgent::opera()); + } + + public function testChromeUserAgent() + { + $this->stringContains('(KHTML, like Gecko) Chrome/', UserAgent::chrome()); + } +} \ No newline at end of file