1<?php
2
3/**
4 * General tests for the cleanoldips plugin
5 *
6 * @group plugin_cleanoldips
7 * @group plugins
8 */
9class cleaningMedia_plugin_cleanoldips_test extends DokuWikiTest
10{
11    protected $pluginsEnabled = ['cleanoldips'];
12
13    protected $yesterday;
14
15    protected $mediaID = 'galaxy:andromeda.jpg';
16
17    public function setUp()
18    {
19        parent::setUp();
20
21        $changelogFN = mediaMetaFN($this->mediaID, '.changes');
22        io_makeFileDir($changelogFN);
23        $this->yesterday = time() - 60 * 60 * 24;
24        file_put_contents($changelogFN, '1522767335	192.168.0.105	C	galaxy:andromeda.jpg		created		36
251522767349	192.168.0.105	E	galaxy:andromeda.jpg				12
261523956708	192.168.0.105	E	galaxy:andromeda.jpg	admin			23
271524145287	192.168.0.105	E	galaxy:andromeda.jpg	admin			19
281524464616	192.168.0.105	E	galaxy:andromeda.jpg	admin	ok		0
29');
30        $handle = fopen($changelogFN, 'ab');
31        $recentChangelogLine = $this->yesterday . "	192.168.0.105	E	galaxy:andromeda.jpg	admin	ok		0\n";
32        fwrite($handle, $recentChangelogLine);
33        fclose($handle);
34    }
35
36    public function testCleaningChangelog()
37    {
38        $eventData = [
39            'isMedia' => true,
40            'trimmedChangelogLines' => [],
41            'removedChangelogLines' => ['1526477811	192.168.0.105	C	galaxy:andromeda.jpg	admin	created		1689508'],
42        ];
43
44        trigger_event('TASK_RECENTCHANGES_TRIM', $eventData);
45        $actualChangelogContent = file_get_contents(mediaMetaFN($this->mediaID, '.changes'));
46
47        $expectedChangelogContent = '1522767335	             	C	galaxy:andromeda.jpg		created		36
481522767349	             	E	galaxy:andromeda.jpg				12
491523956708	             	E	galaxy:andromeda.jpg	admin			23
501524145287	             	E	galaxy:andromeda.jpg	admin			19
511524464616	             	E	galaxy:andromeda.jpg	admin	ok		0
52' . $this->yesterday . "	192.168.0.105	E	galaxy:andromeda.jpg	admin	ok		0\n";
53        $this->assertEquals($expectedChangelogContent, $actualChangelogContent);
54
55    }
56}
57