コード例 #1
0
ファイル: FilterUnitTest.php プロジェクト: ddrozdik/dmaps
 /**
  * Asserts multiple filter output expectations for multiple input strings.
  *
  * @param FilterInterface $filter
  *   A input filter object.
  * @param $tests
  *   An associative array, whereas each key is an arbitrary input string and
  *   each value is again an associative array whose keys are filter output
  *   strings and whose values are Booleans indicating whether the output is
  *   expected or not.
  *
  * For example:
  * @code
  * $tests = array(
  *   'Input string' => array(
  *     '<p>Input string</p>' => TRUE,
  *     'Input string<br' => FALSE,
  *   ),
  * );
  * @endcode
  */
 function assertFilteredString($filter, $tests)
 {
     foreach ($tests as $source => $tasks) {
         $result = $filter->process($source, $filter)->getProcessedText();
         foreach ($tasks as $value => $is_expected) {
             // Not using assertIdentical, since combination with strpos() is hard to grok.
             if ($is_expected) {
                 $success = $this->assertTrue(strpos($result, $value) !== FALSE, format_string('@source: @value found. Filtered result: @result.', array('@source' => var_export($source, TRUE), '@value' => var_export($value, TRUE), '@result' => var_export($result, TRUE))));
             } else {
                 $success = $this->assertTrue(strpos($result, $value) === FALSE, format_string('@source: @value not found. Filtered result: @result.', array('@source' => var_export($source, TRUE), '@value' => var_export($value, TRUE), '@result' => var_export($result, TRUE))));
             }
             if (!$success) {
                 $this->verbose('Source:<pre>' . Html::escape(var_export($source, TRUE)) . '</pre>' . '<hr />' . 'Result:<pre>' . Html::escape(var_export($result, TRUE)) . '</pre>' . '<hr />' . ($is_expected ? 'Expected:' : 'Not expected:') . '<pre>' . Html::escape(var_export($value, TRUE)) . '</pre>');
             }
         }
     }
 }