You are here

function CountriesBaseImportUnitTest::testCountriesCoreListingPreImport in Countries 7.2

This browes the list of countries returned by Drupal to ensure that the module is correctly updating this.

File

tests/countries.test, line 286
Tests for countries.module.

Class

CountriesBaseImportUnitTest

Code

function testCountriesCoreListingPreImport() {

  // Parse and compare the default listings as returned by Drupal.
  $unchanged_countries = $this
    ->getUnchangedCountries();

  // Stale core countries
  $changed_countries_originals = $this
    ->getNonStandardCountries();

  // Updated core countries to the iso standards.
  $changed_countries = $this
    ->getNonStandardCountriesCorrected();

  // Check that things are still valid tests.
  $core_tests = array_merge($unchanged_countries, $changed_countries_originals);
  $countries = _country_get_predefined_list();
  foreach ($core_tests as $iso2 => $name) {
    if ($this
      ->assertNotNull($countries[$iso2], 'Core country ' . $iso2 . ' - ' . $name . ' defined')) {
      $this
        ->assertEqual($name, $countries[$iso2], 'Core country name ' . $name . ' unchanged ' . $countries[$iso2]);
    }
  }

  // Now test that our updates are appearing.
  $countries = country_get_list();
  foreach ($unchanged_countries as $iso2 => $name) {
    if ($this
      ->assertNotNull($countries[$iso2], 'Testing unmodified country ' . $iso2 . ' - ' . $name . ' exists')) {
      $this
        ->assertEqual($name, $countries[$iso2], 'Testing unmodified country ' . $name . ' matches core drupal');
    }
  }

  // INSTALLATION DOES NOT UPDATE BY DEFAULT!
  foreach ($changed_countries as $iso2 => $name) {
    if ($this
      ->assertNotNull($countries[$iso2], 'Testing updated country ' . $iso2 . ' - ' . $name . ' exists')) {
      $this
        ->assertNotEqual($name, $countries[$iso2], 'Testing updated country ' . $name . ' is not overriden by default');
    }
  }
}