[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/_test/tests/inc/parser/ -> handler_parse_highlight_options.test.php (source)

   1  <?php
   2  
   3  class TestOfDoku_Handler_ParseHighlightOptions extends DokuWikiTest {
   4  
   5      public function dataProvider() {
   6          return [
   7              ['', null],
   8              ['something weird', null],
   9              ['enable_line_numbers', ['enable_line_numbers' => true]],
  10              ['enable_line_numbers=1', ['enable_line_numbers' => true]],
  11              ['enable_line_numbers="1"', ['enable_line_numbers' => true]],
  12              ['enable_line_numbers=0', ['enable_line_numbers' => false]],
  13              ['enable_line_numbers="0"', ['enable_line_numbers' => false]],
  14              ['enable_line_numbers=false', ['enable_line_numbers' => false]],
  15              ['enable_line_numbers="false"', ['enable_line_numbers' => false]],
  16              ['highlight_lines_extra', ['highlight_lines_extra' => [1]]],
  17              ['highlight_lines_extra=17', ['highlight_lines_extra' => [17]]],
  18              ['highlight_lines_extra=17,19', ['highlight_lines_extra' => [17, 19]]],
  19              ['highlight_lines_extra="17,19"', ['highlight_lines_extra' => [17, 19]]],
  20              ['highlight_lines_extra="17,19,17"', ['highlight_lines_extra' => [17, 19]]],
  21              ['start_line_numbers_at', ['start_line_numbers_at' => 1]],
  22              ['start_line_numbers_at=12', ['start_line_numbers_at' => 12]],
  23              ['start_line_numbers_at="12"', ['start_line_numbers_at' => 12]],
  24              ['enable_keyword_links', ['enable_keyword_links' => true]],
  25              ['enable_keyword_links=1', ['enable_keyword_links' => true]],
  26              ['enable_keyword_links="1"', ['enable_keyword_links' => true]],
  27              ['enable_keyword_links=0', ['enable_keyword_links' => false]],
  28              ['enable_keyword_links="0"', ['enable_keyword_links' => false]],
  29              ['enable_keyword_links=false', ['enable_keyword_links' => false]],
  30              ['enable_keyword_links="false"', ['enable_keyword_links' => false]],
  31              [
  32                  'enable_line_numbers weird nothing highlight_lines_extra=17,19 start_line_numbers_at="12" enable_keyword_links=false',
  33                  [
  34                      'enable_line_numbers' => true,
  35                      'highlight_lines_extra' => [17, 19],
  36                      'start_line_numbers_at' => 12,
  37                      'enable_keyword_links' => false
  38                  ]
  39              ],
  40          ];
  41      }
  42  
  43      /**
  44       * @dataProvider dataProvider
  45       * @param string $input options to parse
  46       * @param array|null $expect expected outcome
  47       * @throws ReflectionException
  48       */
  49      public function testOptionParser($input, $expect) {
  50          $h = new Doku_Handler();
  51  
  52          $output = $this->callInaccessibleMethod($h, 'parse_highlight_options', [$input]);
  53  
  54          $this->assertEquals($expect, $output);
  55      }
  56  }