Вход Регистрация
Файл: gapps/vendor/fzaninotto/faker/test/Faker/Provider/InternetTest.php
Строк: 91
<?php

namespace FakerTestProvider;

use 
FakerGenerator;
use 
FakerProviderCompany;
use 
FakerProviderInternet;
use 
FakerProviderLorem;
use 
FakerProviderPerson;

class 
InternetTest extends PHPUnit_Framework_TestCase
{
    
/**
     * @var Generator
     */
    
private $faker;
    
    public function 
setUp()
    {
        
$faker = new Generator();
        
$faker->addProvider(new Lorem($faker));
        
$faker->addProvider(new Person($faker));
        
$faker->addProvider(new Internet($faker));
        
$faker->addProvider(new Company($faker));
        
$this->faker $faker;
    }

    public function 
localeDataProvider()
    {
        
$providerPath realpath(__DIR__ '/../../../src/Faker/Provider');
        
$localePaths array_filter(glob($providerPath '/*'GLOB_ONLYDIR));
        foreach (
$localePaths as $path) {
            
$parts explode('/'$path);
            
$locales[] = array($parts[count($parts) - 1]);
        }

        return 
$locales;
    }

    
/**
     * @link http://stackoverflow.com/questions/12026842/how-to-validate-an-email-address-in-php
     *
     * @requires PHP 5.4
     * @dataProvider localeDataProvider
     */
    
public function testEmailIsValid($locale)
    {
        
$this->loadLocalProviders($locale);
        
$pattern '/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/iD';
        
$emailAddress $this->faker->email();
        
$this->assertRegExp($pattern$emailAddress);
    }
    
    
/**
     * @requires PHP 5.4
     * @dataProvider localeDataProvider
     */
    
public function testUsernameIsValid($locale)
    {
        
$this->loadLocalProviders($locale);
        
$pattern '/^[A-Za-z0-9._]+$/';
        
$username $this->faker->username();
        
$this->assertRegExp($pattern$username);
    }

    public function 
loadLocalProviders($locale)
    {
        
$providerPath realpath(__DIR__ '/../../../src/Faker/Provider');
        if (
file_exists($providerPath.'/'.$locale.'/Internet.php')) {
            
$internet "\Faker\Provider\$locale\Internet";
            
$this->faker->addProvider(new $internet($this->faker));
        }
        if (
file_exists($providerPath.'/'.$locale.'/Person.php')) {
            
$person "\Faker\Provider\$locale\Person";
            
$this->faker->addProvider(new $person($this->faker));
        }
        if (
file_exists($providerPath.'/'.$locale.'/Company.php')) {
            
$company "\Faker\Provider\$locale\Company";
            
$this->faker->addProvider(new $company($this->faker));
        }
    }

    public function 
testPasswordIsValid()
    {
        
$this->assertRegexp('/^.{6}$/'$this->faker->password(66));
    }

    public function 
testSlugIsValid()
    {
        
$pattern '/^[a-z0-9-]+$/';
        
$slug $this->faker->slug();
        
$this->assertSame(preg_match($pattern$slug), 1);
    }

    public function 
testUrlIsValid()
    {
        
$url $this->faker->url();
        
$this->assertNotFalse(filter_var($urlFILTER_VALIDATE_URL));
    }

    public function 
testLocalIpv4()
    {
        
$this->assertNotFalse(filter_var(Internet::localIpv4(), FILTER_VALIDATE_IPFILTER_FLAG_IPV4));
    }

    public function 
testIpv4()
    {
        
$this->assertNotFalse(filter_var($this->faker->ipv4(), FILTER_VALIDATE_IPFILTER_FLAG_IPV4));
    }

    public function 
testIpv4NotLocalNetwork()
    {
        
$this->assertNotRegExp('/A1./'$this->faker->ipv4());
    }

    public function 
testIpv4NotBroadcast()
    {
        
$this->assertNotEquals('255.255.255.255'$this->faker->ipv4());
    }

    public function 
testIpv6()
    {
        
$this->assertNotFalse(filter_var($this->faker->ipv6(), FILTER_VALIDATE_IPFILTER_FLAG_IPV6));
    }

    public function 
testMacAddress()
    {
        
$this->assertRegExp('/^([0-9A-F]{2}[:]){5}([0-9A-F]{2})$/i'Internet::macAddress());
    }
}
Онлайн: 1
Реклама