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