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 img_alt_is_too_long_testcase 33 */ 34 class img_alt_is_too_long_test extends all_checks { 35 /** @var string Check type */ 36 protected $checktype = 'img_alt_is_too_long'; 37 38 /** @var string Html fail */ 39 private $htmlfail = <<<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>Image alt attributes must not be too long</title> 44 </head> 45 <body> 46 <img src="rex.jpg" alt="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent accumsan, ante varius viverra aliquam, 47 dolor risus scelerisque massa, ut lacinia ipsum felis id est. Nullam convallis odio ante, in commodo elit fermentum sed. 48 Vivamus ullamcorper tincidunt sagittis. Sed et semper sapien. Quisque malesuada lacus nec libero cursus, aliquam malesuada 49 neque ultricies. Cras sit amet enim vel orci tristique porttitor a vitae urna. Suspendisse mi leo, hendrerit et eleifend a, 50 mollis at ex. Maecenas eget magna nec sem dignissim pharetra vel nec ex. Donec in porta lectus. Aenean porttitor euismod 51 lectus, sodales eleifend ex egestas in. Donec sed metus sodales, lobortis velit quis, dictum arcu."> 52 </body> 53 </html> 54 EOD; 55 56 /** @var string Html pass */ 57 private $htmlpass = <<<EOD 58 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 59 <html> 60 <head> 61 <title>Image alt attributes must not be too long</title> 62 </head> 63 <body> 64 <img src="rex.jpg" alt="this is an image of rex"> 65 </body> 66 </html> 67 EOD; 68 /** 69 * Test for image alt attributes being too long 70 */ 71 public function test_check() { 72 $results = $this->get_checker_results($this->htmlfail); 73 $this->assertTrue($results[0]->element->tagName == 'img'); 74 75 $results = $this->get_checker_results($this->htmlpass); 76 $this->assertEmpty($results); 77 } 78 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body