| 1 options.test | OptionsSelectDynamicValuesTestCase::testSelectListDynamic() | 
Tests the 'options_select' widget (single select).
File
- core/modules/ field/ modules/ options/ tests/ options.test, line 558 
- Tests for options.module.
Class
- OptionsSelectDynamicValuesTestCase
- Test an options select on a list field with a dynamic allowed values function.
Code
function testSelectListDynamic() {
  // Create an entity.
  $this->entity->is_new = TRUE;
  field_test_entity_save($this->entity);
  // Create a web user.
  $web_user = $this->backdropCreateUser(array('access field_test content', 'administer field_test content'));
  $this->backdropLogin($web_user);
  // Set the values that are checked by list_test_dynamic_values_callback().
  $expected_values = array(
    'foo' => $this->randomName(),
    'bar' => $this->randomName(),
    'baz' => $this->randomName(),
  );
  state_set('list_test_dynamic_values', $expected_values);
  // Display form.
  $this->backdropGet('test-entity/manage/' . $this->entity->ftid . '/edit');
  $options = $this->xpath('//select[@id="edit-test-list-und"]/option');
  $this->assertEqual(count($options), count($expected_values) + 1, 'Expected number of items found in dynamic select list.');
  foreach ($options as $option) {
    $key = (string) $option['value'];
    $value = (string) $option;
    if ($key !== '_none') {
      $this->assertTrue($expected_values[$key] === $value);
    }
  }
}
