function TaxonomyTermFieldTestCase::testTaxonomyTermFieldValidation

7.x taxonomy.test TaxonomyTermFieldTestCase::testTaxonomyTermFieldValidation()

Test term field validation.

File

drupal-7.x/modules/taxonomy/taxonomy.test, line 1507
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.');
  }
}