Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
Línea 25... Línea 25...
25
 * @package   tool_brickfield
25
 * @package   tool_brickfield
26
 * @copyright  2020 onward: Brickfield Education Labs, www.brickfield.ie
26
 * @copyright  2020 onward: Brickfield Education Labs, www.brickfield.ie
27
 * @author     Jay Churchward (jay.churchward@poetopensource.org)
27
 * @author     Jay Churchward (jay.churchward@poetopensource.org)
28
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
28
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
29
 */
29
 */
30
class tool_test extends \advanced_testcase {
30
final class tool_test extends \advanced_testcase {
Línea 31... Línea 31...
31
 
31
 
32
    /** @var string base 64 image */
32
    /** @var string base 64 image */
33
    protected $base64img = <<<EOF
33
    protected static string $base64img = <<<EOF
34
<img src="data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/
34
<img src="data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/
35
8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5N
35
8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5N
36
WvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29u
36
WvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29u
37
c/P9cmJu9MTDImIN+/r7+/vz8/P8VNQGNugV8AAF9fX8swMNgTAFlDOICAgPNSUnNWSMQ5MBAQEJE3QPIGAM9AQMqGcG9vb6MhJsEdGM8vLx8fH98A
37
c/P9cmJu9MTDImIN+/r7+/vz8/P8VNQGNugV8AAF9fX8swMNgTAFlDOICAgPNSUnNWSMQ5MBAQEJE3QPIGAM9AQMqGcG9vb6MhJsEdGM8vLx8fH98A
Línea 116... Línea 116...
116
 
116
 
117
    /**
117
    /**
118
     * Base64 image provider.
118
     * Base64 image provider.
119
     * @return array
119
     * @return array
120
     */
120
     */
121
    public function base64_img_provider(): array {
121
    public static function base64_img_provider(): array {
122
        $img = '<img src="myimage.jpg" />';
122
        $img = '<img src="myimage.jpg" />';
123
        return [
123
        return [
124
            'Image tag alone (base64)' => [
124
            'Image tag alone (base64)' => [
125
                $this->base64img,
125
                self::$base64img,
126
                true,
126
                true,
127
            ],
127
            ],
128
            'Image tag alone (link)' => [
128
            'Image tag alone (link)' => [
129
                $img,
129
                $img,
130
                false,
130
                false,
131
            ],
131
            ],
132
            'Image tag in string (base64)' => [
132
            'Image tag in string (base64)' => [
133
                "This is my image {$this->base64img}.",
133
                "This is my image " . self::$base64img,
134
                true,
134
                true,
135
            ],
135
            ],
136
            'Image tag in string (link)' => [
136
            'Image tag in string (link)' => [
137
                "This is my image {$img}.",
137
                "This is my image {$img}.",
Línea 160... Línea 160...
160
            tool::base64_img_detected($content)
160
            tool::base64_img_detected($content)
161
        );
161
        );
162
    }
162
    }
Línea 163... Línea 163...
163
 
163
 
164
    public function test_truncate_base64(): void {
164
    public function test_truncate_base64(): void {
165
        $truncated = tool::truncate_base64($this->base64img);
165
        $truncated = tool::truncate_base64(self::$base64img);
166
        $this->assertStringContainsString('<img src="data:image/gif;base64..."', $truncated);
166
        $this->assertStringContainsString('<img src="data:image/gif;base64..."', $truncated);
167
    }
167
    }