protected function GeshiFilterTest::assertGeshiFilterHighlighting in GeSHi Filter for syntax highlighting 8
Same name and namespace in other branches
- 8.2 tests/src/Functional/GeshiFilterTest.php \Drupal\Tests\geshifilter\Functional\GeshiFilterTest::assertGeshiFilterHighlighting()
 
Assert function for testing if GeSHi highlighting works.
Parameters
string $body: The body text of the node.
array $check_list: List of items that should be in rendered output (assertRaw). An item is something like array($source_code, $lang, $line_numbering, $linenumbers_start, $inline_mode). If $lang is set, GeSHifilter syntax highlighting is applied to $sourcecode. If $lang is false, $sourcecode is directly looked for.
string $description: Description of the assertion.
bool $invert: If assertNoRaw should be used instead of assertRaw.
12 calls to GeshiFilterTest::assertGeshiFilterHighlighting()
- GeshiFilterTest::testBracketsOnlyAngle in tests/
src/ Functional/ GeshiFilterTest.php  - Test with brackets only angle.
 - GeshiFilterTest::testBracketsOnlyDoubleSquare in tests/
src/ Functional/ GeshiFilterTest.php  - Test with brackets only double square.
 - GeshiFilterTest::testBracketsOnlyPhpCodeBlock in tests/
src/ Functional/ GeshiFilterTest.php  - Test with brackets only php code block.
 - GeshiFilterTest::testBracketsOnlySquare in tests/
src/ Functional/ GeshiFilterTest.php  - Test with brackets only square.
 - GeshiFilterTest::testDoNothingMode in tests/
src/ Functional/ GeshiFilterTest.php  - Test for do nothing mode.
 
File
- tests/
src/ Functional/ GeshiFilterTest.php, line 147  
Class
- GeshiFilterTest
 - Tests for GeshiFilter in node content.
 
Namespace
Drupal\Tests\geshifilter\FunctionalCode
protected function assertGeshiFilterHighlighting($body, array $check_list, $description, $invert = FALSE) {
  // Create a node.
  $node = [
    'title' => 'Test for GeShi Filter',
    'body' => [
      [
        'value' => $body . "\n" . $this
          ->randomMachineName(100),
        'format' => 'geshifilter_text_format',
      ],
    ],
    'type' => 'geshifilter_content_type',
  ];
  $this
    ->drupalCreateNode($node);
  $this
    ->drupalGet('node/' . $this->node);
  $this->node++;
  // $format = entity_load('filter_format', 'geshifilter_text_format');
  // $filter = $format->filters('geshifilter');
  // $format->settings['format'];.
  foreach ($check_list as $fragment) {
    list($source_code, $lang, $line_numbering, $linenumbers_start, $inline_mode) = $fragment;
    if ($lang) {
      // Apply syntax highlighting.
      $source_code = GeshiFilterProcess::geshiProcess($source_code, $lang, $line_numbering, $linenumbers_start, $inline_mode);
    }
    if ($invert) {
      $this
        ->assertNoRaw($source_code, $description);
    }
    else {
      $this
        ->assertRaw($source_code, $description);
    }
  }
}