FilterCRUDTestCase::verifyFilters

7 filter.test FilterCRUDTestCase::verifyFilters($format)
8 filter.test FilterCRUDTestCase::verifyFilters($format)

Verify that filters are properly stored for a text format.

File

modules/filter/filter.test, line 116
Tests for filter.module.

Code

function verifyFilters($format) {
  // Verify filter database records.
  $filters = db_query("SELECT * FROM {filter} WHERE format = :format", array(':format' => $format->format))->fetchAllAssoc('name');
  $format_filters = $format->filters;
  foreach ($filters as $name => $filter) {
    $t_args = array(
      '%format' => $format->name,
      '%filter' => $name,
    );

    // Verify that filter status is properly stored.
    $this->assertEqual($filter->status, $format_filters[$name]['status'], t('Database: Proper status for %filter in text format %format.', $t_args));

    // Verify that filter settings were properly stored.
    $this->assertEqual(unserialize($filter->settings), isset($format_filters[$name]['settings']) ? $format_filters[$name]['settings'] : array(), t('Database: Proper filter settings for %filter in text format %format.', $t_args));

    // Verify that each filter has a module name assigned.
    $this->assertTrue(!empty($filter->module), t('Database: Proper module name for %filter in text format %format.', $t_args));

    // Remove the filter from the copy of saved $format to check whether all
    // filters have been processed later.
    unset($format_filters[$name]);
  }
  // Verify that all filters have been processed.
  $this->assertTrue(empty($format_filters), t('Database contains values for all filters in the saved format.'));

  // Verify filter_list_format().
  $filters = filter_list_format($format->format);
  $format_filters = $format->filters;
  foreach ($filters as $name => $filter) {
    $t_args = array(
      '%format' => $format->name,
      '%filter' => $name,
    );

    // Verify that filter status is properly stored.
    $this->assertEqual($filter->status, $format_filters[$name]['status'], t('filter_list_format: Proper status for %filter in text format %format.', $t_args));

    // Verify that filter settings were properly stored.
    $this->assertEqual($filter->settings, isset($format_filters[$name]['settings']) ? $format_filters[$name]['settings'] : array(), t('filter_list_format: Proper filter settings for %filter in text format %format.', $t_args));

    // Verify that each filter has a module name assigned.
    $this->assertTrue(!empty($filter->module), t('filter_list_format: Proper module name for %filter in text format %format.', $t_args));

    // Remove the filter from the copy of saved $format to check whether all
    // filters have been processed later.
    unset($format_filters[$name]);
  }
  // Verify that all filters have been processed.
  $this->assertTrue(empty($format_filters), t('filter_list_format: Loaded filters contain values for all filters in the saved format.'));
}
Login or register to post comments