function TermFieldTest::testTaxonomyTermFieldValidation

Test term field validation.

File

drupal/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermFieldTest.php, line 83
Definition of Drupal\taxonomy\Tests\TermFieldTest.

Class

TermFieldTest
Tests for taxonomy term field and formatter.

Namespace

Drupal\taxonomy\Tests

Code

function testTaxonomyTermFieldValidation() {

  // Test valid and invalid values with field_attach_validate().
  $langcode = Language::LANGCODE_NOT_SPECIFIED;
  $entity = entity_create('entity_test', array());
  $term = $this
    ->createTerm($this->vocabulary);
  $entity->{$this->field_name}->tid = $term
    ->id();
  try {
    field_attach_validate($entity);
    $this
      ->pass('Correct term does not cause validation error.');
  } catch (FieldValidationException $e) {
    $this
      ->fail('Correct term does not cause validation error.');
  }
  $entity = entity_create('entity_test', array());
  $bad_term = $this
    ->createTerm($this
    ->createVocabulary());
  $entity->{$this->field_name}->tid = $bad_term
    ->id();
  try {
    field_attach_validate($entity);
    $this
      ->fail('Wrong term causes validation error.');
  } catch (FieldValidationException $e) {
    $this
      ->pass('Wrong term causes validation error.');
  }
}