112d9bd9eSMichael Hamann<?php 212d9bd9eSMichael Hamann 312d9bd9eSMichael Hamann/** 49d6a86f3SAndreas Gohr * Tests the move support for adapting the syntax of the include plugin 5c76c7b12SAndreas Gohr * 6c76c7b12SAndreas Gohr * @group plugin_include 7c76c7b12SAndreas Gohr * @group plugins 812d9bd9eSMichael Hamann */ 912d9bd9eSMichael Hamannclass plugin_include_pagemove_support_test extends DokuWikiTest { 1012d9bd9eSMichael Hamann public function setup() { 11306441b3SMichael Hamann $this->pluginsEnabled[] = 'move'; 1212d9bd9eSMichael Hamann $this->pluginsEnabled[] = 'include'; 1312d9bd9eSMichael Hamann parent::setup(); 1412d9bd9eSMichael Hamann } 1512d9bd9eSMichael Hamann 1612d9bd9eSMichael Hamann public function test_relative_include() { 1783d8beadSMichael Hamann /** @var $move helper_plugin_move_op */ 1883d8beadSMichael Hamann $move = plugin_load('helper', 'move_op'); 199d6a86f3SAndreas Gohr if (!$move) { 209d6a86f3SAndreas Gohr $this->markTestSkipped('the move plugin is not installed'); 219d6a86f3SAndreas Gohr return; 229d6a86f3SAndreas Gohr } 2312d9bd9eSMichael Hamann saveWikiText('editx', '{{page>start#start}} %%{{page>start}}%% {{section>wiki:syntax#tables&nofooter}} {{page>:}} {{section>test:start#test}}', 'Testcase created'); 2412d9bd9eSMichael Hamann idx_addPage('editx'); 2583d8beadSMichael Hamann $this->assertTrue($move->movePage('editx', 'test:editx')); 2612d9bd9eSMichael Hamann $this->assertEquals('{{page>:start#start}} %%{{page>start}}%% {{section>wiki:syntax#tables&nofooter}} {{page>:}} {{section>test:start#test}}',rawWiki('test:editx')); 2712d9bd9eSMichael Hamann } 2812d9bd9eSMichael Hamann 2912d9bd9eSMichael Hamann public function test_rename() { 3083d8beadSMichael Hamann /** @var $move helper_plugin_move_op */ 3183d8beadSMichael Hamann $move = plugin_load('helper', 'move_op'); 329d6a86f3SAndreas Gohr if (!$move) { 339d6a86f3SAndreas Gohr $this->markTestSkipped('the move plugin is not installed'); 349d6a86f3SAndreas Gohr return; 359d6a86f3SAndreas Gohr } 3612d9bd9eSMichael Hamann saveWikiText('editx', 'Page to rename', 'Testcase create'); 3712d9bd9eSMichael Hamann saveWikiText('links', '{{section>links#foo}} {{page>editx}} {{page>:eDitX&nofooter}} {{section>editx#test}} {{page>editx&nofooter}}', 'Testcase created'); 3812d9bd9eSMichael Hamann idx_addPage('editx'); 3912d9bd9eSMichael Hamann idx_addPage('links'); 4012d9bd9eSMichael Hamann 4183d8beadSMichael Hamann $this->assertTrue($move->movePage('editx', 'test:edit')); 4212d9bd9eSMichael Hamann $this->assertEquals('{{section>links#foo}} {{page>test:edit}} {{page>test:edit&nofooter}} {{section>test:edit#test}} {{page>test:edit&nofooter}}', rawWiki('links')); 4312d9bd9eSMichael Hamann } 44*6cfb597dSMichael Hamann 45*6cfb597dSMichael Hamann public function test_relative_include_adaption() { 46*6cfb597dSMichael Hamann /** @var $move helper_plugin_move_op */ 47*6cfb597dSMichael Hamann $move = plugin_load('helper', 'move_op'); 48*6cfb597dSMichael Hamann if (!$move) { 49*6cfb597dSMichael Hamann $this->markTestSkipped('the move plugin is not installed'); 50*6cfb597dSMichael Hamann return; 51*6cfb597dSMichael Hamann } 52*6cfb597dSMichael Hamann 53*6cfb597dSMichael Hamann $text = '====== Main ====== 54*6cfb597dSMichael Hamann 55*6cfb597dSMichael HamannThis is a test page 56*6cfb597dSMichael Hamann 57*6cfb597dSMichael Hamann[[.1:page_1|link]] 58*6cfb597dSMichael Hamann 59*6cfb597dSMichael Hamann{{page>.1:page_1&nofooter&noeditbutton}} 60*6cfb597dSMichael Hamann 61*6cfb597dSMichael Hamann{{page>.1:page_2&nofooter&noeditbutton}}'; 62*6cfb597dSMichael Hamann 63*6cfb597dSMichael Hamann saveWikiText('old:namespace:main', $text, 'Created'); 64*6cfb597dSMichael Hamann saveWikiText('old:namespace:1:page_1', 'Page 1', 'Created'); 65*6cfb597dSMichael Hamann saveWikiText('old:namespace:1:page_2', 'Page 2', 'Created'); 66*6cfb597dSMichael Hamann idx_addPage('old:namespace:main'); 67*6cfb597dSMichael Hamann idx_addPage('old:namespace:1:page_1'); 68*6cfb597dSMichael Hamann idx_addPage('old:namespace:1:page_2'); 69*6cfb597dSMichael Hamann 70*6cfb597dSMichael Hamann $this->assertTrue($move->movePage('old:namespace:main', 'new:namespace:main')); 71*6cfb597dSMichael Hamann $this->assertTrue($move->movePage('old:namespace:1:page_1', 'new:namespace:1:page_1')); 72*6cfb597dSMichael Hamann $this->assertTrue($move->movePage('old:namespace:1:page_2', 'new:namespace:1:page_2')); 73*6cfb597dSMichael Hamann $this->assertEquals($text, rawWiki('new:namespace:main')); 74*6cfb597dSMichael Hamann } 7512d9bd9eSMichael Hamann} 76