You are here

function EditorFilterCRUDTestCase::verifyTextFormat in Editor 7

Verifies that a text format is properly stored.

1 call to EditorFilterCRUDTestCase::verifyTextFormat()
EditorFilterCRUDTestCase::testTextFormatCRUD in ./editor.test
Tests CRUD operations for text formats and filters.

File

./editor.test, line 91
Tests for Editor module.

Class

EditorFilterCRUDTestCase
Copy of FilterCRUDTestCase.

Code

function verifyTextFormat($format) {
  $t_args = array(
    '%format' => $format->name,
  );

  // Verify text format database record.
  $db_format = db_select('filter_format', 'ff')
    ->fields('ff')
    ->condition('format', $format->format)
    ->execute()
    ->fetchObject();
  editor_format_ensure_additional_properties($db_format);
  $this
    ->assertEqual($db_format->format, $format->format, format_string('Database: Proper format id for text format %format.', $t_args));
  $this
    ->assertEqual($db_format->name, $format->name, format_string('Database: Proper title for text format %format.', $t_args));
  $this
    ->assertEqual($db_format->cache, $format->cache, format_string('Database: Proper cache indicator for text format %format.', $t_args));
  $this
    ->assertEqual($db_format->weight, $format->weight, format_string('Database: Proper weight for text format %format.', $t_args));
  $this
    ->assertEqual($db_format->editor, $format->editor, format_string('Database: Proper editor for text format %format.', $t_args));
  $this
    ->assertEqual($db_format->editor_settings, $format->editor_settings, format_string('Database: Proper editor settings for text format %format.', $t_args));

  // Verify filter_format_load().
  $filter_format = filter_format_load($format->format);
  editor_format_ensure_additional_properties($filter_format);
  $this
    ->assertEqual($filter_format->format, $format->format, format_string('filter_format_load: Proper format id for text format %format.', $t_args));
  $this
    ->assertEqual($filter_format->name, $format->name, format_string('filter_format_load: Proper title for text format %format.', $t_args));
  $this
    ->assertEqual($filter_format->cache, $format->cache, format_string('filter_format_load: Proper cache indicator for text format %format.', $t_args));
  $this
    ->assertEqual($filter_format->weight, $format->weight, format_string('filter_format_load: Proper weight for text format %format.', $t_args));
  $this
    ->assertEqual($filter_format->editor, $format->editor, format_string('filter_format_load: Proper editor for text format %format.', $t_args));
  $this
    ->assertEqual($filter_format->editor_settings, $format->editor_settings, format_string('filter_format_load: Proper editor settings for text format %format.', $t_args));

  // Verify the 'cache' text format property according to enabled filters.
  $filter_info = filter_get_filters();
  $filters = filter_list_format($filter_format->format);
  $cacheable = TRUE;
  foreach ($filters as $name => $filter) {

    // If this filter is not cacheable, update $cacheable accordingly, so we
    // can verify $format->cache after iterating over all filters.
    if ($filter->status && isset($filter_info[$name]['cache']) && !$filter_info[$name]['cache']) {
      $cacheable = FALSE;
      break;
    }
  }
  $this
    ->assertEqual($filter_format->cache, $cacheable, 'Text format contains proper cache property.');
}