Commit Graph

677 Commits

Author SHA1 Message Date
Alex Schroeder
bf00a9ea04 Merge remote-tracking branch 'origin/return-objects' 2015-09-06 08:10:46 +02:00
Aleks-Daniel Jakimenko
9d7e5b43c0 Test for Issue #1 on github 2015-09-05 23:54:43 +03:00
Alex Schroeder
aec340b401 rollback.t: add another 1s sleep
Trying to solve an issue: sometimes the test fails on Alex Daniel's
test server but never on Alex Schroeder's laptop. The output of Recent
Changes being tested has no rollback button for one of the page links.
Actually, the last six edits have no rollback button:

12:34 UTC (diff) MinorPage . . . . 127.0.0.1 – Rollback to 2015-09-01 12:34 UTC (minor)
12:34 UTC (diff) AnotherEvilPage . . . . 127.0.0.1 – Rollback to 2015-09-01 12:34 UTC (minor)
12:34 UTC (diff) OtherPage . . . . 127.0.0.1 – Rollback to 2015-09-01 12:34 UTC
12:34 UTC (diff) NicePage . . . . 127.0.0.1 – Rollback to 2015-09-01 12:34 UTC
12:34 UTC (diff) EvilPage . . . . 127.0.0.1 – Rollback to 2015-09-01 12:34 UTC
12:34 UTC (diff) MinorPage . . . . 127.0.0.1 – testerror (minor)

Note that this includes the "testerror" minor edit which is about to
be rolled back. Perhaps that's because this should hold in
RollbackPossible and it does not: $ts != $LastUpdate. $ts would be the
timestamp of the testerror edit and $LastUpdate would be the timestamp
of the rollback. I've added another 1s sleep between these two.
2015-09-02 13:41:12 +02:00
Alex Schroeder
3ea87c007d The parameter days must be numeric 2015-08-31 11:04:22 +02:00
Alex Schroeder
4d8b028e2d test for wiping comments with "0" and fix 2015-08-29 11:57:29 +02:00
Aleks-Daniel Jakimenko
4eef4d2d76 No more /o, modifiers sorted alphabetically 2015-08-23 21:22:12 +03:00
Aleks-Daniel Jakimenko
0642fad8f8 Afterfix for 5462b21 (disallow minor comments)
Test added as well
2015-08-19 10:17:49 +03:00
Alex Schroeder
9fbf8a6f39 Use @MyFormChanges in mail.pl
This also requires a change in gravatar.pl because we can no longer test
for MailNewGetCommentForm. Instead, we test @MyFormChanges as variables
are being initialized and if MailCommentAdditions is already on it, we
don't add GravatarFormAddition.
2015-08-18 12:37:18 +02:00
Alex Schroeder
71ff0f7de3 askpage.t: new 2015-08-18 11:23:55 +02:00
Alex Schroeder
89fa22d1c9 Introducing @MyFormChanges
GetEditForm and GetCommentForm will now call all the subs in
@FormChanges in order to let them change the generated HTML. This is
used by all the modules that used to hook into either of these two
functions.

A typical change from questionasker.pl:

push(@MyFormChanges, \&QuestionAddTo);

sub QuestionAddTo {
  my ($form, $type, $upload) = @_;
  if (not $upload
      and not QuestionaskerException(GetId())
      and not $QuestionaskerRememberAnswer && GetParam($QuestionaskerSecretKey, 0)
      and not UserIsEditor()) {
    my $question = QuestionaskerGetQuestion();
    $form =~ s/(.*)<p>(.*?)<label for="username">/$1$question<p>$2<label for="username">/;
  }
  return $form;
}

This commit als moves from &$foo to $foo->() based on a recommendation
in Modern Perl by Conway.
2015-08-18 11:11:13 +02:00
Alex Schroeder
58e9a1e240 use v5.10 everywhere + enabled test in meta.t 2015-08-18 10:48:03 +02:00
Alex Schroeder
bd39fe5d38 recaptcha.pl: same fix as questionasker.pl
We need to replace the old reference in @MyFooters with the new code
reference.
2015-08-18 09:44:43 +02:00
Alex Schroeder
0ba76bafb2 oddmuse-2.2.6.pl: use $q->end_form
This silences the errors about $q->endform not existing in newer CGI
versions.
2015-08-17 14:20:25 +02:00
Alex Schroeder
4614990e04 upgrade-files.t: wipe /tmp/mywikidb
If you're running this test on a system that did not get /tmp wiped in
a 30 days (as happens after a reboot on some systems), then this test
used to fail. The files from the last run will not be changed and
therefore they will not show up in Recent Changes. This commit wipes
$UseModWiki::DataDir before running the test.
2015-08-17 13:35:27 +02:00
Alex Schroeder
a602bc0678 search.t: test grouping of search terms 2015-08-16 09:23:33 +02:00
Alex Schroeder
958c118649 upgrade-files.t: upgrade-files.pl was moved 2015-08-15 21:54:06 +02:00
Alex Schroeder
c031898184 summary.t: XSS in summaries was fixed
Similar to the previous commit: there was a test that basically ensured
that XSS attacks were possible.
2015-08-15 21:45:17 +02:00
Alex Schroeder
d32ebaddc8 rss.t: XSS in summaries was fixed
Thus it is revealed that the old version of the test was making sure
that XSS was possible via the edit summary. Oh dear.
2015-08-15 21:22:05 +02:00
Alex Schroeder
93cc1578d0 encoding.t: fix test
When we decided to no longer show changes to the cookie, we knew that we
would have to change some of the tests. This commit does that for
encoding.t. The tests that looked at the HTML document now look at the
footer of an edit.
2015-08-15 21:03:26 +02:00
Alex Schroeder
79610f7490 cookie.t: fix tests
When we decided to no longer show changes to the cookie, we knew that we
would have to change some of the tests. This commit does that for
cookie.t. All the tests that looked at the HTML document now look at the
HTTP response headers.
2015-08-15 16:05:16 +02:00
Alex Schroeder
be2b87635c big-brother.t: increase $VisitorTime to 10
We had decreased $VisitorTime to 5 back in commit 6bc9531...
"big-brother.t: reduce $VisitorTime to 5". As it turns out, under
certain circumstances, this time window is too short for my laptop, so
I'm increasing it again.
2015-08-15 15:55:12 +02:00
Alex Schroeder
bc6ae67a9a xss.t: testing search & replace 2015-08-10 17:50:29 +02:00
Alex Schroeder
ac7d68d134 search.t: do not test without $PATH
There is no need to test a fallback when grep is unavailable because we
got rid of $UseGrep.
2015-08-10 10:30:58 +02:00
Alex Schroeder
ca0a429027 xss.t: verify alt attributes are ok 2015-08-03 09:33:19 +02:00
Alex Schroeder
408df36c0b Fix XSS attack in RSS feeds
If the page content is not printed, then the page summary is plain text.
In other words, it needs to be HTML-quoted.
2015-08-02 22:18:02 +02:00
Alex Schroeder
3e6de210f8 xss.t: new 2015-07-31 18:03:17 +02:00
Alex Schroeder
642cec5e7d Fix utf8 encoding and enable meta test
We now check POD and code with two separate checks. One checks for use
utf8, the other checks for =encoding utf8.
2015-07-28 23:02:23 +02:00
Alex Schroeder
5ed32a6d3f meta.t: enable use utf8 test 2015-07-28 22:16:02 +02:00
Alex Schroeder
eaf4433505 meta.t: 404handler.pl is not a real module 2015-07-28 21:52:41 +02:00
Alex Schroeder
259dc5c27d meta.t: test for AddModuleDescription 2015-07-28 11:15:28 +02:00
Aleks-Daniel Jakimenko
0b4007ff5a meta.t: nice suggestion in "perl -c" test 2015-07-28 06:20:54 +03:00
Aleks-Daniel Jakimenko
92c64bbba9 Tests for our Refactoring efforts (some tests are failing)
Some tests are failing because of the actual problems.
We should fix those.
2015-07-28 06:10:38 +03:00
Alex Schroeder
22bf1e8df3 static-copy.t skips a test without HTTPS support
The static.css file is copied from https://oddmuse.org/ -- so if
LWP::Protocol::https is not installed, this cannot work.
2015-07-21 12:42:06 +02:00
Alex Schroeder
9ec075c1c0 referrer-tracking.t switching to HTTPS 2015-07-21 12:31:13 +02:00
Alex Schroeder
6d62283927 referrer-tracking.t with new copyright year 2015-07-21 12:17:12 +02:00
Alex Schroeder
445e80cefc referrer-tracking.t skips test without HTTPS
As oddmuse.org now uses HTTPS, this test requires LWP::Protocol::https
to be installed.
2015-07-21 12:16:17 +02:00
Alex Schroeder
6589e84d10 near-links.t fix test for empty page 2015-07-21 11:32:55 +02:00
Alex Schroeder
59e79d2b17 Summary: Fix bug in NewText
If $CommentsPrefix was not set, all the pages were being treated like
comment pages.
2015-07-21 10:15:55 +02:00
Alex Schroeder
b054fa463d Default message for empty comment pages. 2015-07-20 08:12:46 +02:00
Alex Schroeder
70c7d154a3 pygmentize.t: make test for the error more robust 2015-07-17 14:20:39 +02:00
Alex Schroeder
eb0738dedc pygmentize.pl: warn if an error occured
There's now a test that checks the error message when no pygmentize tool
can be found on the PATH.
2015-07-16 22:14:32 +02:00
Alex Schroeder
f0588fa299 major.t: delete some tests that make no sense
The recent changes in commit 62d6dc4b—fixing the summary for last major
revisions—resulted in some changes in the output. These changes seem to
be OK so I removed the tests for the old output.

Basically, the tests created a new page using a minor change. What
should the output be when browsing the page with diff=1? "No diff
available" is correct. There is no need to mention the last major change
because there is none.

The next tests edited the same page using minor changes. What should the
output be when browsing the page with diff=1? "No diff available" is
still correct. There is still no need to mention the last major change
because there is none.
2015-07-14 17:30:05 +02:00
Alex Schroeder
62d6dc4bd4 Fix summary of diff if showing last major revision
As reported by npostavs: When looking at an URL such as
http://www.emacswiki.org/emacs?action=rss;full=1;diff=1;page=0 and
looking at a minor change, we would see the diff for the last major
change. Instead of showing the summary for that change, however, we'd
see the summary for the last (minor) edit. This commit fixes this issue.
2015-07-13 11:22:46 +02:00
Alex Schroeder
77fd49544c all.t: test for monolithic links of images 2015-07-13 10:04:00 +02:00
Alex Schroeder
b3fa76bfb6 all.t: add a test for transcluded images 2015-07-13 09:07:38 +02:00
Alex Schroeder
1ab2aa9427 all.t: add test for picture uploads 2015-07-13 09:00:39 +02:00
Alex Schroeder
57c2413b51 upload.t: add some explanations to the tests 2015-07-13 08:57:22 +02:00
Alex Schroeder
aa8dcd54fa namespaces.t: fix copyright year 2015-07-13 08:54:33 +02:00
Alex Schroeder
81721e29de links.t: GPLv3 and copyright year 2015-07-13 08:53:41 +02:00
Alex Schroeder
9d3b5e25ee usemod.pl: fix XSS vulnerability for $HtmlLinks 2015-07-13 08:48:18 +02:00