1<?php 2 3// must be run within Dokuwiki 4if (!defined('DOKU_INC')) die(); 5 6/** 7 * Test cases for the move plugin 8 * 9 * @group plugin_move 10 * @group plugins 11 */ 12class plugin_move_mediamove_test extends DokuWikiTest { 13 14 public function setUp() { 15 $this->pluginsEnabled[] = 'move'; 16 parent::setUp(); 17 } 18 19 /** 20 * @group slow 21 */ 22 public function test_movePageWithRelativeMedia() { 23 $src = 'mediareltest:foo'; 24 saveWikiText($src, 25 '{{ myimage.png}} [[:start|{{ testimage.png?200x800 }}]] [[bar|{{testimage.gif?400x200}}]] 26[[doku>wiki:dokuwiki|{{wiki:logo.png}}]] [[http://www.example.com|{{testimage.jpg}}]] 27[[doku>wiki:foo|{{foo.gif?200x3000}}]]', 'Test setup'); 28 idx_addPage($src); 29 30 $dst = 'foo'; 31 32 /** @var helper_plugin_move_op $move */ 33 $move = plugin_load('helper', 'move_op'); 34 $this->assertTrue($move->movePage($src, $dst)); 35 36 $this->assertEquals('{{ mediareltest:myimage.png}} [[:start|{{ mediareltest:testimage.png?200x800 }}]] [[mediareltest:bar|{{mediareltest:testimage.gif?400x200}}]] 37[[doku>wiki:dokuwiki|{{wiki:logo.png}}]] [[http://www.example.com|{{mediareltest:testimage.jpg}}]] 38[[doku>wiki:foo|{{mediareltest:foo.gif?200x3000}}]]', rawWiki('foo')); 39 } 40 41 /** 42 * @group slow 43 */ 44 public function test_moveSingleMedia() { 45 global $AUTH_ACL; 46 $AUTH_ACL[] = "wiki:*\t@ALL\t16"; 47 $AUTH_ACL[] = "foobar:*\t@ALL\t8"; 48 49 saveWikiText('wiki:movetest', '{{wiki:dokuwiki-128.png?200}}', 'Test initialized'); 50 idx_addPage('wiki:movetest'); 51 52 $src = 'wiki:dokuwiki-128.png'; 53 $dst = 'foobar:logo.png'; 54 55 /** @var helper_plugin_move_op $move */ 56 $move = plugin_load('helper', 'move_op'); 57 $this->assertTrue($move->moveMedia($src, $dst)); 58 59 $this->assertTrue(@file_exists(mediaFn('foobar:logo.png'))); 60 61 $this->assertEquals('{{foobar:logo.png?200}}', rawWiki('wiki:movetest')); 62 } 63 64 /** 65 * @group slow 66 */ 67 public function test_moveSingleMedia_colonstart() { 68 global $AUTH_ACL; 69 $AUTH_ACL[] = "wiki:*\t@ALL\t16"; 70 $AUTH_ACL[] = "foobar:*\t@ALL\t8"; 71 72 $filepath = DOKU_TMP_DATA.'media/wiki/testimage.png'; 73 io_makeFileDir($filepath); 74 io_saveFile($filepath,''); 75 76 saveWikiText('wiki:movetest', '{{:wiki:testimage.png?200}}', 'Test initialized'); 77 idx_addPage('wiki:movetest'); 78 79 $src = 'wiki:testimage.png'; 80 $dst = 'foobar:logo_2.png'; 81 82 /** @var helper_plugin_move_op $move */ 83 $move = plugin_load('helper', 'move_op'); 84 $this->assertTrue($move->moveMedia($src, $dst)); 85 86 $this->assertTrue(@file_exists(mediaFn('foobar:logo_2.png'))); 87 88 $this->assertEquals('{{:foobar:logo_2.png?200}}', rawWiki('wiki:movetest')); 89 } 90} 91