1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 /** 18 * tool_brickfield check test. 19 * 20 * @package tool_brickfield 21 * @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie 22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 23 */ 24 25 namespace tool_brickfield\local\htmlchecker\common\checks; 26 27 defined('MOODLE_INTERNAL') || die(); 28 29 require_once ('all_checks.php'); 30 31 /** 32 * Class table_data_should_have_th_test 33 */ 34 class table_data_should_have_th_test extends all_checks { 35 /** @var string Check type */ 36 public $checktype = 'table_data_should_have_th'; 37 38 /** @var string Html fail 1 */ 39 private $htmlfail1 = <<<EOD 40 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 41 <html> 42 <head> 43 <title>Table should have at least one th - fail</title> 44 </head> 45 <body> 46 <table> 47 <thead> 48 <tr> 49 50 </tr> 51 </thead> 52 <tbody> 53 <tr> 54 <td>This is a tables data</td> 55 </tr> 56 </tbody> 57 </table> 58 </body> 59 </html> 60 EOD; 61 62 /** @var string Html fail 2 */ 63 private $htmlfail2 = <<<EOD 64 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 65 <html> 66 <head> 67 <title>Table should have at least one th - fail</title> 68 </head> 69 <body> 70 <table> 71 <tr> 72 73 </tr> 74 <tr> 75 <td>This is a tables data</td> 76 </tr> 77 </table> 78 </body> 79 </html> 80 EOD; 81 82 /** @var string Html pass 1 */ 83 private $htmlpass1 = <<<EOD 84 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 85 <html> 86 <head> 87 <title>Table should have at least one th - pass</title> 88 </head> 89 <body> 90 <table> 91 <thead> 92 <tr><th>This is table heading</th></tr> 93 </thead> 94 <tbody> 95 <tr><td>This is a tables data</td></tr> 96 </tbody> 97 </table> 98 </body> 99 </html> 100 EOD; 101 102 /** @var string Html pass 2 */ 103 private $htmlpass2 = <<<EOD 104 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 105 <html> 106 <head> 107 <title>Table should have at least one th - pass</title> 108 </head> 109 <body> 110 <table> 111 <tr><th>This is table heading</th></tr> 112 <tr><td>This is a tables data</td></tr> 113 </table> 114 </body> 115 </html> 116 EOD; 117 /** 118 * Test that th does not exist 119 */ 120 public function test_check_fail() { 121 $results = $this->get_checker_results($this->htmlfail1); 122 $this->assertTrue($results[0]->element->tagName == 'table'); 123 124 $results = $this->get_checker_results($this->htmlfail2); 125 $this->assertTrue($results[0]->element->tagName == 'table'); 126 } 127 128 /** 129 * Test that th does exist 130 */ 131 public function test_check_pass() { 132 $results = $this->get_checker_results($this->htmlpass1); 133 $this->assertEmpty($results); 134 135 $results = $this->get_checker_results($this->htmlpass2); 136 $this->assertEmpty($results); 137 } 138 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body