xref: /plugin/include/_test/media_linktitle_conversion.test.php (revision 02c330c705a38cf5fd8299f261dfdd96c3f1b813)
18b00ba47SMichael Hamann<?php
28b00ba47SMichael Hamann
38b00ba47SMichael Hamannif (!defined('DOKU_INC')) die();
48b00ba47SMichael Hamann
58b00ba47SMichael Hamann/**
68b00ba47SMichael Hamann * Test the conversion of media references in link titles
7c76c7b12SAndreas Gohr *
8c76c7b12SAndreas Gohr * @group plugin_include
9c76c7b12SAndreas Gohr * @group plugins
108b00ba47SMichael Hamann */
118b00ba47SMichael Hamannclass plugin_include_media_linktitle_conversion_test extends DokuWikiTest {
128b00ba47SMichael Hamann    /** @var helper_plugin_include $helper */
138b00ba47SMichael Hamann    private $helper;
148b00ba47SMichael Hamann
1569781840SAnna Dabrowska    public function setUp() : void
1669781840SAnna Dabrowska    {
178b00ba47SMichael Hamann        $this->pluginsEnabled[] = 'include';
188b00ba47SMichael Hamann        parent::setUp();
198b00ba47SMichael Hamann
208b00ba47SMichael Hamann        $this->helper = plugin_load('helper', 'include');
218b00ba47SMichael Hamann
228b00ba47SMichael Hamann        saveWikiText('wiki:included', <<<EOF
238b00ba47SMichael Hamann  * [[test|{{dokuwiki.png}}]]
248b00ba47SMichael Hamann  * [[#test|{{dokuwiki.png?w=200}}]]
258b00ba47SMichael Hamann  * [[doku>test|{{dokuwiki.png?w=300}}]]
260c3e533aSMichael Hamann  * [[test|{{https://www.dokuwiki.org/lib/tpl/dokuwiki/images/logo.png}}]]
278b00ba47SMichael HamannEOF
288b00ba47SMichael Hamann            , 'Test setup');
298b00ba47SMichael Hamann        idx_addPage('wiki:included');
308b00ba47SMichael Hamann
318b00ba47SMichael Hamann        saveWikiText('test:include', '{{page>..:wiki:included}}', 'Test setup');
328b00ba47SMichael Hamann        idx_addPage('test:include');
338b00ba47SMichael Hamann    }
348b00ba47SMichael Hamann
358b00ba47SMichael Hamann    public function testInternalLinkTitleConversion() {
368b00ba47SMichael Hamann        $html = p_wiki_xhtml('test:include');
37*02c330c7SMichael Hamann        $this->assertStringContainsString('src="'.ml('wiki:dokuwiki.png').'"', $html);
388b00ba47SMichael Hamann    }
398b00ba47SMichael Hamann
408b00ba47SMichael Hamann    public function testLocalLinkTitleConversion() {
418b00ba47SMichael Hamann        $html = p_wiki_xhtml('test:include');
42*02c330c7SMichael Hamann        $this->assertStringContainsString('src="'.ml('wiki:dokuwiki.png', array('w' => '200')).'"', $html);
438b00ba47SMichael Hamann    }
448b00ba47SMichael Hamann
458b00ba47SMichael Hamann    public function testInterWikiLinkTitleConversion() {
468b00ba47SMichael Hamann        $html = p_wiki_xhtml('test:include');
47*02c330c7SMichael Hamann        $this->assertStringContainsString('src="'.ml('wiki:dokuwiki.png', array('w' => '300')).'"', $html);
488b00ba47SMichael Hamann    }
490c3e533aSMichael Hamann
500c3e533aSMichael Hamann    public function testExternalMediaNotConverted() {
510c3e533aSMichael Hamann        $html = p_wiki_xhtml('test:include');
52*02c330c7SMichael Hamann        $this->assertStringContainsString('src="'.ml('https://www.dokuwiki.org/lib/tpl/dokuwiki/images/logo.png').'"', $html);
530c3e533aSMichael Hamann    }
548b00ba47SMichael Hamann}
55