Lines Matching full:page

13      * A page deleted through DokuWiki is recorded as its own revision, newer than the
19 $page = 'changelog_deleted';
20 saveWikiText($page, 'first content', 'create', false);
22 saveWikiText($page, 'second content longer', 'edit', false);
25 $editRev = (new PageChangeLog($page))->currentRevision();
27 saveWikiText($page, '', 'delete', false);
30 $changelog = new PageChangeLog($page);
54 $page = 'changelog_extdeleted';
55 saveWikiText($page, 'first content', 'create', false);
57 saveWikiText($page, 'second content longer', 'edit', false);
60 $editRev = (new PageChangeLog($page))->currentRevision();
62 // delete the page file externally, bypassing DokuWiki
63 unlink(wikiFN($page));
67 $changelog = new PageChangeLog($page);
89 $page = 'changelog_touched';
90 saveWikiText($page, 'first content', 'create', false);
92 $changelog = new PageChangeLog($page);
96 touch(wikiFN($page), $lastRev + 1000);
99 $changelog = new PageChangeLog($page);
108 …$this->assertEquals($lastRev, filemtime(wikiFN($page)), 'file mtime should be reset to the changel…
112 * A deleted page that is restored externally with a preserved mtime predating the
116 * It has to be detected as an external recreation, or the page stays "deleted" forever.
120 $page = 'changelog_extrestored';
121 saveWikiText($page, 'first content', 'create', false);
123 saveWikiText($page, 'second content longer', 'edit', false);
126 // exact bytes the page held right before deletion (== what the delete archives)
127 $content = file_get_contents(wikiFN($page));
129 saveWikiText($page, '', 'delete', false);
132 $changelog = new PageChangeLog($page);
137 'precondition: the page is recorded as deleted'
141 file_put_contents(wikiFN($page), $content);
142 touch(wikiFN($page), $delRev - 100);
145 $changelog = new PageChangeLog($page);
152 'the restored page must be detected as an external recreation, not stay deleted'
169 $changelog = new PageChangeLog($page);
173 'the page must remain undeleted on subsequent reads'
178 * A deleted page recreated externally with an mtime after the deletion (as a git checkout,
183 $page = 'changelog_extrecreated';
184 saveWikiText($page, 'first content', 'create', false);
187 saveWikiText($page, '', 'delete', false);
190 $changelog = new PageChangeLog($page);
195 'precondition: the page is recorded as deleted'
198 // recreate the page externally with an mtime after the deletion
200 file_put_contents(wikiFN($page), 'recreated content');
201 touch(wikiFN($page), $extRev);
204 $changelog = new PageChangeLog($page);
215 * A page file that appears with no changelog at all (dropped straight into data/pages) is an
220 $page = 'changelog_extcreated';
222 io_saveFile(wikiFN($page), $content); // write the page file only, no changelog
224 touch(wikiFN($page), $extRev);
227 $changelog = new PageChangeLog($page);
239 * occurrence, e.g. an old backup written over a newer page) cannot trust that mtime as the
244 $page = 'changelog_exteditold';
245 saveWikiText($page, 'first content', 'create', false);
247 saveWikiText($page, 'second content longer', 'edit', false);
250 $changelog = new PageChangeLog($page);
254 file_put_contents(wikiFN($page), 'externally changed content');
255 touch(wikiFN($page), $lastRev - 100);
261 $changelog = new PageChangeLog($page);
265 …tEquals(DOKU_CHANGE_TYPE_EDIT, $currentInfo['type'], 'a changed file over a live page is an edit');
273 * above newer entries with an old date), but is still recorded in the page's own
279 $page = 'changelog_outoforder';
280 saveWikiText($page, 'first content', 'create', false);
282 $changelog = new PageChangeLog($page);
289 file_put_contents(wikiFN($page), 'externally edited content');
290 touch(wikiFN($page), $extRev);
294 $changelog = new PageChangeLog($page);
298 // detected and recorded in the page's own changelog: the create plus the external edit
304 'page changelog should hold the create and the external edit'
322 $page = 'changelog_freshext';
323 saveWikiText($page, 'first content', 'create', false);
325 $changelog = new PageChangeLog($page);
331 file_put_contents(wikiFN($page), 'externally edited content');
332 touch(wikiFN($page), $extRev);
335 $changelog = new PageChangeLog($page);