1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # Copyright (C) 2006–2023 Alex Schroeder <alex@gnu.org>
- #
- # This program is free software; you can redistribute it and/or modify it under
- # the terms of the GNU General Public License as published by the Free Software
- # Foundation; either version 3 of the License, or (at your option) any later
- # version.
- #
- # This program is distributed in the hope that it will be useful, but WITHOUT
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License along with
- # this program. If not, see <http://www.gnu.org/licenses/>.
- require './t/test.pl';
- package OddMuse;
- use Test::More tests => 4;
- use utf8;
- # Reproduce a particular bug from alexschroeder.ch with the rc.log provided.
- WriteStringToFile($RcFile, <<'EOT');
- 16853910992023-05-29_Net_newsHow to IRCAnonymousAlex2en
- 16854004152023-05-29_Net_newsHow to IRCAnonymousAlex3en
- 1685430599[[rollback]]1685400415Anonymous
- 16855185032023-05-29_Net_newsAnonymousAlex4en
- EOT
- local $SIG{ALRM} = sub { fail "timeout!"; kill 'KILL', $$; };
- alarm 3;
- # this is recent changes from between the rollback and the page before it, so there are no pages to roll back
- my $page = get_page("action=rss full=1 short=0 from=1685413682");
- alarm 0;
- test_page($page, '2023-05-29 Net news');
- test_page_negative($page, 'rollback');
- # Reproduce a follow-up bug. First, rolling back just Test works as intended.
- WriteStringToFile($RcFile, <<'EOT');
- 1691499987Testham127.0.0.1Berta1
- 1691499988Mustuff127.0.0.1Chris1
- 1691499989Testspam127.0.0.1Spammer2
- 1691499990Test0Rollback to 2023-08-08 13:06 UTC127.0.0.1Alex3
- 1691499990[[rollback]]1691499987Test
- EOT
- my $feed = get_page('action=rc raw=1 from=1691499900'); # need from or the result is empty
- test_page($feed, 'title: Test');
- # Rolling back all of the wiki doesn't work.
- WriteStringToFile($RcFile, <<'EOT');
- 1691499987Testham127.0.0.1Berta1
- 1691499988Mustuff127.0.0.1Chris1
- 1691499989Testspam127.0.0.1Spammer2
- 1691499990Test0Rollback to 2023-08-08 13:06 UTC127.0.0.1Alex3
- 1691499990[[rollback]]1691499987
- EOT
- $feed = get_page('action=rc raw=1 from=1691499900'); # need from or the result is empty
- test_page($feed, 'title: Test');
|