You are here

function GeofieldWidgetTestCase::testGeofieldFieldWKTWidget in Geofield 7.2

Test WKT Input.

File

tests/geofield.test, line 127
Tests for geofield.module.

Class

GeofieldWidgetTestCase

Code

function testGeofieldFieldWKTWidget() {

  // Test lat/lon widget
  $this
    ->_testGeoFieldAPISetup('geofield_wkt', 'geofield_wkt');

  // Display creation form.
  $langcode = LANGUAGE_NONE;
  $this
    ->drupalGet('test-entity/add/test-bundle');
  $this
    ->assertFieldByName("{$this->field_name}[{$langcode}][0][geom]", '', t('WKT widget is displayed'));

  // Submit with some value.
  include_once drupal_get_path('module', 'geofield') . '/includes/GeoGenerator.php';
  $generator = new GeoGenerator();
  $wkt = $generator
    ->wkt_generate();
  $geometry = geoPHP::load($wkt, 'wkt');
  $edit = array(
    "{$this->field_name}[{$langcode}][0][geom]" => $geometry
      ->out('wkt'),
  );
  $this
    ->drupalPost(NULL, $edit, t('Save'));
  preg_match('|test-entity/manage/(\\d+)/edit|', $this->url, $match);
  $id = $match[1];
  $this
    ->assertRaw(t('test_entity @id has been created.', array(
    '@id' => $id,
  )), t('WKT entity was created'));
  $this
    ->_testWKTFormatter($id, $geometry, 'wkt');
}