function TaxonomyTermFieldTestCase::testTaxonomyTermFieldValidation

Test term field validation.

File

drupal/modules/taxonomy/taxonomy.test, line 1512
Tests for taxonomy.module.

Class

TaxonomyTermFieldTestCase
Tests for taxonomy term field and formatter.

Code

function testTaxonomyTermFieldValidation() {

  // Test valid and invalid values with field_attach_validate().
  $langcode = LANGUAGE_NONE;
  $entity = field_test_create_stub_entity();
  $term = $this
    ->createTerm($this->vocabulary);
  $entity->{$this->field_name}[$langcode][0]['tid'] = $term->tid;
  try {
    field_attach_validate('test_entity', $entity);
    $this
      ->pass('Correct term does not cause validation error.');
  } catch (FieldValidationException $e) {
    $this
      ->fail('Correct term does not cause validation error.');
  }
  $entity = field_test_create_stub_entity();
  $bad_term = $this
    ->createTerm($this
    ->createVocabulary());
  $entity->{$this->field_name}[$langcode][0]['tid'] = $bad_term->tid;
  try {
    field_attach_validate('test_entity', $entity);
    $this
      ->fail('Wrong term causes validation error.');
  } catch (FieldValidationException $e) {
    $this
      ->pass('Wrong term causes validation error.');
  }
}