Commit Graph

488 Commits (f2b248cdfd2515dbc8556e26442da6a0ac08e911)

Author SHA1 Message Date
Amitai Schlair d42ed9bdc3 Test many behaviors of the meta directive. 2015-08-15 23:37:43 -04:00
Amitai Schlair 604d0391ba Squelch regex deprecation warnings from Perl 5.22.
Specifically:

"Unescaped left brace in regex is deprecated, passed through in regex"
2015-06-14 21:35:51 -04:00
Simon McVittie 841a86a4f3 img test: set old timestamp on source file that will change
This is so that the test will pass even if it takes less than 1 second.
2015-06-14 18:13:17 +01:00
Simon McVittie 7a2117bf8c img: stop ImageMagick trying to be clever if filenames contain a colon
$im->Read() takes a filename-like argument with several sets of special
syntax. Most of the possible metacharacters are escaped by the
default `wiki_file_chars` (and in any case not particularly disruptive),
but the colon ":" is not.

It seems the way to force ImageMagick to treat colons within the
filename as literal is to prepend a colon, so do that.
2015-06-13 20:00:08 +01:00
Simon McVittie 9497fc1b6c t/inline.t: accept translations of "Add a new post titled:" (Closes: #779365) 2015-03-01 17:15:13 +00:00
Simon McVittie a1fda0b516 Standardize on --long-option instead of -long-option
[[forum/refresh_and_setup]] indicates some confusion between --setup
and -setup. Both work, but it's clearer if we stick to one in
documentation and code.

A 2012 commit to [[plugins/theme]] claims that "-setup" is required
and "--setup" won't work, but I cannot find any evidence in ikiwiki's
source code that this has ever been the case.
2015-03-01 16:15:01 +00:00
Simon McVittie 6b6d330bad textile-double-escape-bug.t: tolerate any valid encoding
Discount in current Debian unstable turns the IURI href into a URI
by encoding the Unicode as UTF-8 and %-escaping each byte.
That is valid, and matches Wikipedia's expectations, but was breaking
this test for me.

It would also be entirely valid (and lead to equivalent parsing) if the
ö was represented as ö, ö or &#xf6 in the text and/or the href.
2015-01-06 00:28:18 +00:00
Simon McVittie 4315581f31 Turn positive test for wrong behaviour into a TODO test for right behaviour
We don't want ikiwiki's tests to stop passing when
Text::Textile is fixed.
2015-01-06 00:28:18 +00:00
Amitai Schlair 97f8b33c1a Document an annoying Text::Textile encoding bug. 2014-12-22 22:43:40 -05:00
Simon McVittie b9596b2049 Add regression test for libdir/libdirs 2014-12-09 22:54:26 +00:00
Simon McVittie 6c51b764bc Merge branch 'ready/html5' 2014-11-26 11:58:05 +00:00
Simon McVittie 105f285a63 Work around Debian #771047: use a non-blank SVG for the regression test
Inkscape loses the bounding box of a SVG with no content when it
converts it to EPS, and ImageMagick does not have a special case for
converting SVG to PNG with Inkscape in one step (which Inkscape can do);
it prefers to convert SVG to EPS with Inkscape, then EPS to whatever.
2014-11-26 11:10:44 +00:00
Simon McVittie b679fc65f5 We no longer have a test for DTD-valid XHTML 1.0, but at least check well-formedness
This means that people can do XSLT nonsense if they want to.

The failures are currently marked TODO because not everything in the
docwiki is in fact well-formed.
2014-10-16 11:25:10 +01:00
Simon McVittie fb7225dbe6 Remove now-redundant test-cases for a non-default html5 setting 2014-10-16 11:08:01 +01:00
Simon McVittie a052771287 Now that we're always using HTML5, <base href> can be relative 2014-10-16 11:05:19 +01:00
Simon McVittie 490a1eca7b Always produce HTML5 doctype and new attributes, but not new elements
According to caniuse.com, a significant fraction of Web users are
still using Internet Explorer versions that do not support HTML5
sectioning elements. However, claiming we're XHTML 1.0 Strict
means we can't use features invented in the last 12 years, even if
they degrade gracefully in older browsers (like the role and placeholder
attributes).

This means our output is no longer valid according to any particular
DTD. Real browsers and other non-validator user-agents have never
cared about DTD compliance anyway, so I don't think this is a real loss.
2014-10-16 11:04:53 +01:00
Amitai Schlair 47fff754c8 Extract test subs for each site. No change meant. 2014-10-12 09:30:31 -04:00
Amitai Schlair 508457fc05 Extract run_cgi(). No functional change intended. 2014-10-12 00:01:09 -04:00
Amitai Schlair 0db1679a3d Extract check_generated_content(). Same output. 2014-10-11 09:52:21 -04:00
Amitai Schlair dc872e42c8 Extract check_cgi_mode_bits(). No change intended. 2014-10-10 21:17:39 -04:00
Amitai Schlair cd9297322a Extract thoroughly_rebuild(), a slight test change.
I didn't try to parameterize when a test should fail when we can't
remove ikiwiki.cgi because there already isn't one. (Hooray, natural
language.) Instead, we stop worrying about it and always tolerate
ENOENT.
2014-10-10 20:40:24 -04:00
Amitai Schlair 7d82570fe0 Extract write_setup_file(). No functional change.
Test output differs only by the line numbers of the TODO items.
2014-10-10 20:25:54 -04:00
Amitai Schlair bb8f15e2a7 simplify IPC::Run check (same behavior) 2014-10-06 16:31:52 -04:00
Simon McVittie 33f60260b2 In html5 mode, generate a host- or protocol-relative <base> for the CGI
This increases the number of situations in which we do the right thing.
2014-10-05 23:49:37 +01:00
Simon McVittie 3b8da667cc Add reverse_proxy option which hard-codes cgiurl in CGI output
This solves several people's issues with the CGI trying to be
too clever when IkiWiki is placed behind a reverse-proxy.
2014-10-05 23:49:37 +01:00
Simon McVittie d712389ae3 Avoid mixed content when cgiurl is https but url is not 2014-10-05 23:49:37 +01:00
Simon McVittie 532f7adfdb Use protocol-relative URIs if cgiurl and url differ only by authority (hostname) 2014-10-05 15:56:19 +01:00
Simon McVittie fe9e94513a Fix a test-case that actually just repeated the previous one instead 2014-10-05 15:49:20 +01:00
Simon McVittie b0a35c817e Force use of $config{url} as top URL in w3mmode 2014-10-05 15:19:55 +01:00
Simon McVittie 210bf742b9 relative URLs test: pass an appropriate PERL5LIB through
We were previously using the system copy of IkiWiki, because the CGI
resets its environment.
2014-10-05 15:19:12 +01:00
Simon McVittie 823268e5c7 add the beginnings of a test for CGI/static URL interactions 2014-10-05 14:29:32 +01:00
Amitai Schlair afd9b2ff74 Search $PATH for "validate", since the test does.
"validate" is a very generic command name, and it validates against
an old standard, so the value of this test is questionable.
2014-10-01 15:06:24 -04:00
Simon McVittie 526a463ae5 img test: skip SVG tests if unsupported by Image::Magick 2014-09-16 10:00:27 +01:00
Amitai Schlair 04a10a180d Pass -templatedir to get this test passing again. 2014-09-15 22:16:39 -04:00
Simon McVittie 7f5c2cfa5a Merge branch 'ready/templatebody' 2014-09-15 21:52:03 +01:00
Simon McVittie c1b80c54fa Merge branch 'ready/autoindex-more-often' 2014-09-15 21:23:18 +01:00
Simon McVittie 0490ead761 extend rst test to cover a fixed bug 2014-09-14 15:47:42 +01:00
Simon McVittie ab768a62c6 Rename show parameter of [[!inline]] and [[!pagestats]] to limit
The old name still works, if its value is numeric.

This name allows a non-numeric "show" to mean the same thing
it does for [[!map]] (show title, show description, etc.).
2014-09-14 15:15:27 +01:00
Simon McVittie 43367c5e30 extend regression test for inline to cover inlining, show, reverse 2014-09-14 15:14:42 +01:00
Simon McVittie 9be3f95116 Merge branch 'ready/imgforpdf-and-more' 2014-09-12 21:59:00 +01:00
Simon McVittie d55d06ea88 use readfile() instead of reinventing it
This avoids potential action-at-a-distance from locally redefining $/
but never reaching the end of the redefinition's scope.
2014-09-01 08:40:54 +01:00
chrysn 0f9ea1f720 unit test for bugs/image_rescaling_distorts_with_small_pictures 2014-07-15 14:03:31 +02:00
chrysn a0a26d24f9 make img unittest easier to debug 2014-07-15 14:03:00 +02:00
chrysn a308b212ad img plugin: split resizing calculations and actual resizing
there is now a size calculating part (which chooses a final size) and a
scaling part (which triggers if the sizes calculated by the former
indicate a downscaling).

this solves the issue of unproportional upscalings
(bugs/image_rescaling_distorts_with_small_pictures).

also, "small" pdf files (or pdf files without explicit size settings),
which would not be converted under the old mechanism, now get rendered
to pngs.

this commit affects a unit test: while svgs were previously
unconditionally rendered to pngs, this now only happens on downscaling.
this is intentional -- while a small version of an svg graphic is
likely to be more compact when rendered (eg as a preview), a large
version would not have that benefit, and why convert something that
browsers basically can show and be inconsistend with how other images
are handled. the new unit test simply makes the original svg larger to
check for the same behaviros as before.
2014-07-15 13:44:22 +02:00
Simon McVittie 0357ad66ea inline: postform=no should take precedence over rootpage existing
If someone has explicitly disabled the postform, it seems reasonable
from a least-astonishment point of view for that to take precedence
over rootpage, even though that makes rootpage useless.

Also add a regression test; so far, this is all it tests.
2014-07-04 23:23:42 +01:00
chrysn 536a3364b2 drop unittest workaround for new perlmagick
just install -extra to make it work
2014-07-04 22:32:36 +02:00
chrysn c3019d94c6 drop unittest workaround for perlmagick
this was actually http://bugs.debian.org/753770
2014-07-04 22:32:24 +02:00
chrysn f9963b97c2 make unittest work with all all three packages that provide perlmagick 2014-07-04 22:32:13 +02:00
chrysn 4bd25423ac add unittests for img
this focuses on the features introduced in
http://ikiwiki.info/bugs/svg_and_pdf_conversion_fails/
2014-07-04 15:16:07 +02:00
Simon McVittie 17440ea301 Allow creation of transient index pages for directories outside srcdir
After this change autoindex creates index pages also for empty directories
included in underlays, but only if it isn't going to commit them to the
srcdir ($config{autoindex_commit} = 0).

Inspired by a patch from Tuomas Jormola.

Bug-Debian: http://bugs.debian.org/611068
2014-07-04 09:25:09 +01:00
Simon McVittie fefc8f4dce Add a regression test for autoindex_commit => 1 2014-07-04 09:22:57 +01:00
Simon McVittie 532d05be9e autoindex test: check what happens to files in transient/normal underlays 2014-07-04 09:22:57 +01:00
Joey Hess 811b477c35 fix test case ogg mime type
Seems that a better mime type is detected now on Debian stable.
2014-06-13 10:25:27 -04:00
Simon McVittie 7672014582 Add templatebody plugin and directive, and enable it by default
Also add a regression test for templatebody.
2014-03-05 10:42:19 +00:00
Joey Hess e1a0b25be1 Merge remote-tracking branch 'remotes/smcv/ready/template-syntax-test' 2014-02-23 14:31:51 -04:00
Joey Hess 204dcda88b Merge remote-tracking branch 'intrigeri/fix_diffurl_vs._cgit' 2014-02-23 14:13:53 -04:00
Joey Hess c5d63c549d Merge remote-tracking branch 'anarcat/dev/syslog_utf8' 2014-02-23 14:09:51 -04:00
Simon McVittie 9de5ca411f template_syntax.t: include doc/templates/*.mdwn in test
Previously, this test assigned the first glob to @templates, and
evaluated the second for its (practically nonexistent) side-effects.
2014-02-21 18:38:10 +00:00
Joey Hess 90ebe2e57d avoid running this test if File:MimeInfo is not installed
it's needed to get mime types in the feed
2014-01-25 17:08:22 -04:00
intrigeri d52774dd45 Do not UTF8-escape "/" in Git's diffurl: cgit does not support this. 2013-12-31 01:47:10 +00:00
Antoine Beaupré 2a143bfd0b don't edit config setting, but a temporary variable, complete and unbreak tests 2013-11-29 01:09:04 -05:00
Antoine Beaupré 9293d2c706 failing test case 2013-11-29 01:09:04 -05:00
Joey Hess fae7ed1429 remove test for page state saved for disabled plugin
My change did cause this state to be retained. I hope this is not a
problem.

Afaik, plugins test if they were disabled before by looking at the toplevel
plugin state, not the per-page plugin state. So the only remaining problem
might be

a) A plugin is disabled but its state keeps being saved. Which is not
   ideal, perhaps, but the large speedup of my optimisation seems worth it.
b) A plugin might have been enabled, be disabled, and get re-enabled, and
   see old state from before. I don't see how this would be different from
   the plugin seeing any other old state, though, so hopefully no breakage.

My optmisation looks a little more risky, but I still hope I can keep it.
2013-11-16 12:43:46 -04:00
Joey Hess 8833cfe30d Fix test suite to work with perl 5.18. Closes: #719969 2013-08-30 22:43:02 -04:00
Amitai Schlair 0c320f45e8 Genericize download link for more use cases. 2013-06-26 20:21:33 -04:00
Amitai Schlair d33b31f706 Merge branch 'master' into fancypodcast 2013-05-12 19:16:50 -04:00
Joey Hess 5121198cb9 avoid running test if xml::twig is not installed 2013-05-09 10:46:25 -04:00
Amitai Schlair 137ed653ea Merge branch 'master' into fancypodcast
Conflicts:
	doc/todo/fancypodcast.mdwn
2013-03-17 15:01:13 -04:00
Simon McVittie 766a2c7ab1 permalink test: start by deleting t/tmp
Otherwise, tests that don't end by deleting t/tmp (which is a useful
change when debugging a failing test) would cause this one to fail.
2013-02-24 13:18:34 +00:00
Simon McVittie 2bdb0c5902 map test: clean up after ourselves 2013-02-24 13:16:13 +00:00
Simon McVittie 12ca01fd5c map test: print maps' source as comments 2013-02-24 13:10:24 +00:00
Simon McVittie 82537ecf19 extend test, some cases now fail 2013-02-24 13:10:24 +00:00
Simon McVittie 54a48e15d8 Add a test for the map directive 2013-02-24 13:10:24 +00:00
Amitai Schlair 2df57e9906 Un-copy-paste the fancy-podcast tests. 2013-02-21 23:12:15 -05:00
Amitai Schlair d77ee60b15 Render fancy podcast enclosures.
Simple podcast feeds didn't have content tags and I made sure to
keep it that way. This may be unnecessarily conservative. Changing
the behavior to include empty content tags might be fine, but I
don't want to think about it right now, I just want my tests to
keep passing!

The new fancy-podcast tests are copy-pasted-edited from the
simple-podcast tests. These tests shall be refactored.
2013-02-20 21:16:19 -05:00
Amitai Schlair 3d2be49420 Make enclosures absolute (in feeds they have to be). 2013-02-20 19:14:20 -05:00
Amitai Schlair a7a68417d0 When inlining HTML pages, render enclosures. 2013-02-19 20:22:47 -05:00
Amitai Schlair d27c587ec9 Let tests determine whether feeds get made. 2013-02-19 20:22:47 -05:00
Amitai Schlair c3b17740ae Document that last enclosure wins. 2013-02-19 20:22:47 -05:00
Amitai Schlair 0e278c4a84 Make enclosure follow WikiLink LinkingRules. 2013-02-19 20:22:46 -05:00
Amitai Schlair 45d58983d2 Rename some posts and fix wrong assumptions. 2013-02-19 20:22:46 -05:00
Amitai Schlair 546da9bac7 Make [[!meta enclosure=foo.mp3]] "work" for HTML. 2013-02-19 20:22:46 -05:00
Amitai Schlair 86df150fb0 Document that podcasts are text XOR enclosure. 2013-02-19 20:22:46 -05:00
Amitai Schlair 10b6cb6ee5 Wrap a long line. 2013-02-19 20:22:46 -05:00
Amitai Schlair c9c00b7c25 Add tests for existing podcast behavior. 2013-02-19 20:22:45 -05:00
Amitai Schlair a5fb27acb8 Bump test count for previous. 2013-02-02 14:19:50 -05:00
Amitai Schlair 91b477c087 Fix diffurl links (cvsweb expects unescaped '/'). 2013-02-02 14:11:15 -05:00
Amitai Schlair b30cacdf8d Fix longstanding bug (chdir to nonexistent dirs).
In test, set up the post-commit hook for more realism (and bugs!).
To make wrappers work in test, set PERL5LIB, and allow the wrappee's
path to be overridden. Meta-test that post-commit is really hooked
up by verifying that content is getting generated in destdir.

About the longstanding bug, which as far as I know was harmless:
CVS can't operate outside a srcdir, so we're always setting $CWD.
"local $CWD" restores the previous value when we go out of scope.
Usually that's correct. But if we're removing the last file from a
directory, the post-commit hook will exec in a working directory
that's about to not exist (CVS will prune it).

The fix: chdir() manually in cvs_runcvs(), so we can selectively
not chdir() back.
2013-01-27 22:09:57 -05:00
Amitai Schlair 64370885cc Merge branch 'master' into cvs 2013-01-25 08:47:17 -05:00
Simon McVittie 7b06a65221 If the title of a trail or trail-member changes, rebuild affected pages
If the title of a trail changes, each member of that trail must be
rebuilt, for its prev/up/next box to reflect the new title.

If the title of a member changes, its next and previous items (if any)
must be rebuilt, for their prev/up/next boxes to reflect the new title.
2013-01-02 19:19:32 +00:00
Simon McVittie 94a5130963 Add more trail regression tests
Some of these untested bits have in fact regressed, and as such, are
marked as TODO.
2013-01-02 19:19:32 +00:00
Joey Hess b485dbd891 avoid syntax checking cvs, since it needs File::Chdir, which
is not a build dep
2012-04-27 13:59:36 -04:00
Joey Hess fc5c938b19 Merge remote-tracking branch 'smcv/ready/literal-pagenames' 2012-04-08 16:02:03 -04:00
Simon McVittie 5674e7fc12 prune: do not prune beyond an optional base directory, and add a test
Previously, prune("wiki/srcdir/sandbox/test.mdwn") could delete srcdir
or even wiki, if they happened to be empty. This is rarely what you
want: there's usually some base directory (destdir, srcdir, transientdir
or another subdirectory of wikistatedir) beyond which you do not want to
delete.
2012-04-07 17:52:29 +01:00
Simon McVittie 258ee1bc3b trail, inline: treat pagenames as a list of literal names, not links 2012-04-06 17:05:26 +01:00
Joey Hess 2ad42bef5f add some seatbelts to toad's jalopy
This does not change the number of failing tests I see, but it does
make it show the expected result, which makes analysis easier.
2012-04-04 20:23:01 -04:00
Simon McVittie c7bc11f26f Use utime to make initial files in trail test come from the past
This ensures that when we do the second phase of the test (edit some
files and refresh), the changes get a different mtime and are picked up,
even if the entire test happened between two 1-second "clock ticks".
2012-03-19 09:49:31 +00:00
Simon McVittie 63bb8b42f7 Replace [[!trailinline]] directive with [[!inline trail=yes]] 2012-03-18 17:11:05 +00:00
Simon McVittie 4e54fa1144 tagging version 3.20120202
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIVAwUATytJp8kQ2SIlEuPHAQgKeg/+MPL9KcL13f1DQUwu9TXEr7hSocn3NTa/
 LMvLJvrzqI5BGRP+jBGFG/Kn9yFt6S4gdCvpOwi1INxAanLQnaVoSLoie1teUbU3
 dxi8f3wGMBtEX+BiOi9gbjxF2v98D+Fh73O9H7newsEJiRDRor7U4EE1dWC8uidc
 d/9vhWkaDy1BlEahaU85v7RY94h5EnEzgD0Rm7wkSSr1aquQsr89OijC6SY0dEJe
 b6AunkRqsOGDrm6elSRFi6E5eStPhIu2t6GmyhpulWn5vr4PyqdWZ7jcWvDGYr+r
 v2iuses1fH8qWE1CQ6Y2XadK7Cj2IbGhaiLXp3TdbPgKnB7BS89cSWRKQ5SlvTlJ
 sUUPauhLDMqp1Cux6oUgs5T9ADTO922p1FzR3JuTkgwNLWH7UXTRuwVvtPz4aKqN
 QBmQeknTTQAxqi+DhgBK+CXM7LIt3d2TaoUFt6gl4kKt3FYzGfyh9ohhDSQniAa8
 C52InJ2X5bamz8/fIcELChg+wBT+naQrDW7V74kFKvWzIwnqfvseaF3zVqDgYLQy
 e12vL6GAdnO66VhzULU1NyH/XNvfyKEpwiKHPwCEK5wPTLweWBqjU0952GDBlUov
 PDDoQgwijnSCSxJOcEsAnnpkT16pw0VWHTSLrqkYYZBg7WGkZbhwk4cRVkqcsMK7
 JjKUdA9rK0E=
 =KLr6
 -----END PGP SIGNATURE-----

Merge tag '3.20120202' into trail3-integrated
2012-03-18 15:31:41 +00:00
Amitai Schlair 37bf6114d5 Notes. 2012-02-05 16:35:29 -05:00