Exemple #1
0
 /**
  * Test importing address formats using service.
  */
 function testAddressFormatImport()
 {
     $externalRepository = new AddressFormatRepository();
     $externalCount = count($externalRepository->getAll());
     $count = \Drupal::entityQuery('address_format')->count()->execute();
     $this->assertEqual($externalCount, $count, 'All address formats imported at installation.');
 }
/**
 * Google's dataset includes regular expressions for validating postal codes.
 * These regular expressions are meant to be consumed by Google's Java library,
 * and compatibility with PHP's preg_match is not 100% guaranteed.
 * This scripts performs validation to ensure compatibility.
 */
include '../vendor/autoload.php';
use CommerceGuys\Addressing\Enum\AddressField;
use CommerceGuys\Addressing\Model\Address;
use CommerceGuys\Addressing\Repository\CountryRepository;
use CommerceGuys\Addressing\Repository\AddressFormatRepository;
use CommerceGuys\Addressing\Validator\Constraints\AddressFormat;
use CommerceGuys\Addressing\Validator\Constraints\Country;
use Symfony\Component\Validator\Validation;
$addressFormatRepository = new AddressFormatRepository();
$address = new Address();
$address = $address->withAddressLine1('Address line1')->withAddressLine1('Address line2')->withLocality('Locality');
$validator = Validation::createValidator();
// Create a list of countries for which Google has definitions.
$foundCountries = ['ZZ'];
$countryRepository = new CountryRepository();
$countries = $countryRepository->getList();
$serviceUrl = 'http://i18napis.appspot.com/address';
$index = file_get_contents($serviceUrl);
foreach ($countries as $countryCode => $countryName) {
    $link = "<a href='/address/data/{$countryCode}'>";
    // This is still faster than running a file_exists() for each country code.
    if (strpos($index, $link) !== FALSE) {
        $foundCountries[] = $countryCode;
    }