1<?php 2 3require_once(__DIR__ . '/../webcomponent.php'); 4 5/** 6 * Test the component plugin 7 * 8 * @group plugin_webcomponent 9 * @group plugins 10 */ 11class plugin_webcomponent_blockquote_test extends DokuWikiTest 12{ 13 14 protected $pluginsEnabled = [webcomponent::PLUGIN_NAME]; 15 16 17 public function test_tag_name() 18 { 19 20 $elementName = syntax_plugin_webcomponent_blockquote::getTagName(); 21 22 $this->assertEquals('blockquote', $elementName); 23 24 } 25 26 public function test_base() 27 { 28 29 $element = syntax_plugin_webcomponent_blockquote::getTagName(); 30 $doku_text = '<' . $element . '>MyQuote</' . $element . '>'; 31 $expected = '<div class="card m-3">'.DOKU_LF 32 .DOKU_TAB.'<div class="card-body">'.DOKU_LF 33 .DOKU_TAB.DOKU_TAB.'<blockquote class="blockquote m-0">'.DOKU_LF 34 .DOKU_TAB.DOKU_TAB.'MyQuote'.DOKU_LF 35 .DOKU_TAB.DOKU_TAB.'</blockquote>'.DOKU_LF 36 .DOKU_TAB.'</div>'.DOKU_LF 37 .'</div>'; 38 39 $instructions = p_get_instructions($doku_text); 40 $xhtml = p_render('xhtml', $instructions, $info); 41 $this->assertEquals($expected, $xhtml); 42 43 } 44 45 public function test_with_cite_base() 46 { 47 48 $element = syntax_plugin_webcomponent_blockquote::getTagName(); 49 $doku_text = '<' . $element . '>MyQuote<cite>Nico</cite></' . $element . '>'; 50 $expected = '<div class="card m-3">'.DOKU_LF 51 .DOKU_TAB.'<div class="card-body">'.DOKU_LF 52 .DOKU_TAB.DOKU_TAB.'<blockquote class="blockquote m-0">'.DOKU_LF 53 .DOKU_TAB.DOKU_TAB.'MyQuote'.DOKU_LF 54 .DOKU_TAB.DOKU_TAB.'<footer class="blockquote-footer text-right"><cite>Nico</cite></footer>'.DOKU_LF 55 .DOKU_TAB.DOKU_TAB.'</blockquote>'.DOKU_LF 56 .DOKU_TAB.'</div>'.DOKU_LF 57 .'</div>'; 58 $instructions = p_get_instructions($doku_text); 59 $xhtml = p_render('xhtml', $instructions, $info); 60 $this->assertEquals($expected, $xhtml); 61 62 } 63 64 public function test_base_no_class() 65 { 66 67 $element = syntax_plugin_webcomponent_blockquote::getTagName(); 68 $doku_text = '<' . $element . ' class="" >MyQuote</' . $element . '>'; 69 $expected = '<div class="card">'.DOKU_LF 70 .DOKU_TAB.'<div class="card-body">'.DOKU_LF 71 .DOKU_TAB.DOKU_TAB.'<blockquote class="blockquote m-0">'.DOKU_LF 72 .DOKU_TAB.DOKU_TAB.'MyQuote'.DOKU_LF 73 .DOKU_TAB.DOKU_TAB.'</blockquote>'.DOKU_LF 74 .DOKU_TAB.'</div>'.DOKU_LF 75 .'</div>'; 76 77 $instructions = p_get_instructions($doku_text); 78 $xhtml = p_render('xhtml', $instructions, $info); 79 $this->assertEquals($expected, $xhtml); 80 81 } 82 83 84} 85