Proyectos de Subversion Moodle

Rev

Rev 1 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
     */
11 efrain 71
    public function test_check(): void {
1 efrain 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
}