Commit Graph

324 Commits (545bf43670d4c31a260c82c4d99aa878679a8340)

Author SHA1 Message Date
Amitai Schlair ac8eab29e8 Uncomment the CVS keyword substitution mode tests, and make them pass:
Extract cvs_keyword_subst_args() and ensure it runs in $config{srcdir}.
Using Perl's -T operator appears to work equally well, perhaps switch?
2012-01-26 16:57:00 -05:00
Amitai Schlair 1b73015251 Move tests that simulate web commits into test_rcs_add(), then add
a bunch more tests (that wind up exercising rcs_commit(),
rcs_commit_staged(), and rcs_recentchanges()). Extract some support
routines for brevity. Most is_in_keyword_substitution_mode() tests
are commented out because there's a bug -- non-binary files are
being added with "cvs add -kb".

Move tests that inspect recentchanges after direct CVS operations
into test_rcs_recentchanges().
2012-01-24 05:58:41 -05:00
Amitai Schlair ad0e56cdca Define required programs and modules at top for easy spotting. 2012-01-22 11:07:58 -05:00
Amitai Schlair 8e99750545 No functional change: sort sub definitions.
In the code:
* general plugin API calls (in plugins/write order),
* VCS plugin API calls (in plugins/write order), then
* internal support routines (in alphabetical order).

In the tests:
* general meta-behavior (in no particular order, yet),
* general plugin API calls (in plugins/write order),
* VCS plugin API calls (in plugins/write order), then
* internal support routines (in semi-logical order).
2012-01-22 10:44:50 -05:00
Amitai Schlair ea04eb4102 Test::Class runs test subs in alphabetical order, so we do too. 2012-01-22 10:44:50 -05:00
Amitai Schlair 88b08b5835 Ape xUnit more closely to remove ordering constraints on test subs:
* Add setup and teardown methods, called before and after every test sub.
* In setup, make a fresh repo; in teardown, throw it out.
* Extract runtests method and define default test methods at top.
* Move reflection routines near the xUnit-style subs they support.

Adapt existing test subs to run independently:
* In test_manual_add_and_commit(), assume a fresh repo.

While here, plan a bit better:
* Check for all modules used by cvs.pm.
* Check for program existence more generally.
* Check that we can rmdir after mkdir.
2012-01-22 10:44:50 -05:00
Amitai Schlair 1ea4949257 Describe the needed test cases, and implement a couple Test::Class features.
* Run all subs matching /^test_*/ (for which we can plan)...
* Unless TEST_METHOD is set, in which case run matching subs (sans plan).
* Define total number of tests very near 'use Test::More', where expected.
* Define test tempdir where it's declared, no longer any reason why not.
* Move most comments from TODO.cvs into t/cvs.t.
* Add a whole bunch more comments describing the needed test cases.

XXX existing tests are order-dependent, but currently happen to pass
2012-01-22 10:44:49 -05:00
Amitai Schlair 3497f49f35 Fix regression: failing to make the temp dir should nix the test plan.
While here, nitpick style and wrap long lines.
2012-01-22 10:44:49 -05:00
Amitai Schlair 0b7d5aeeb6 Use config parameters directly and shorten long lines. 2012-01-22 10:44:49 -05:00
Amitai Schlair d760df3821 * Define expected number of tests near the top.
* Call readfile() directly from writefile().
* Parameterize commit message for the web-commit case.
* Describe intent of test cases.
* Rename test subs to match what they actually do.
* To prove extra path slashes don't cause trouble, instead of running
  the same tests a second time, just assert that checkconfig()
  strips the slashes.
2012-01-22 10:44:49 -05:00
Amitai Schlair b77da0bb3b Fix a typo in the web commit test. 2012-01-22 10:44:49 -05:00
Amitai Schlair f18160b95d Simplify startup: use Test::More unconditionally, then determine
the test plan at runtime. Use IkiWiki unconditionally too (as that's
not what I'm testing here) to avoid the TAP error of printing a
test result before having printed the plan.
2012-01-22 10:44:49 -05:00
Amitai Schlair f98c4c5b72 Extract subs: startup/shutdown, and tests for web and manual commits.
No functional change intended.
2012-01-22 10:44:49 -05:00
Joey Hess 37f7f125f9 fix test suite to work with discount
In the first test, discount returns the html attributes in a different
order, which broke the test. Test only for the important text, not the
exact html output.

In the second test, discount does some encoding of its own of the partially
encoded url, again resulting in different output.
2012-01-01 17:28:31 -04:00
Simon McVittie ea313b8133 Add path and path_natural sort orders
These correspond to title and title_natural, but compare the entire
path: a < a/b < a/z < ab < b.
(cherry picked from commit 903a5a314f)
2011-12-06 14:26:34 -04:00
Simon McVittie bc6bef9c56 Add a trivial test for the rst plugin
Signed-off-by: Simon McVittie <smcv@debian.org>
2011-10-22 19:46:42 +01:00
Joey Hess f774f20913 Fix comments testsuite to not rely on Date::Parse's ability to parse the date Columbus discovered America. Closes: #640350
This is such a pity. smcv had these great dates, but squeeze's Date::Parse
cannot parse them.

Oh well, at least it makes for a great bug closure title.
2011-09-05 13:17:36 -04:00
Simon McVittie 94268a46cd comments: add regression test for sorting by date 2011-06-04 16:55:24 +01:00
Joey Hess 70e7bee1a0 Merge remote-tracking branch 'intrigeri/po-long-language-codes' 2011-06-03 12:32:37 -04:00
Joey Hess dac4f405b2 the underlying perl bug that this test case checks a workaround for has now been fixed
hurrah! Thanks especially to Niko Tyni for tracking it down in the perl
internals.
2011-05-31 16:21:58 -04:00
intrigeri 3cd0c1f91a po: support language codes in the form of 'es_AR', and 'arn'.
... additionally to the previously supported two-letters codes.
2011-05-26 09:39:50 +02:00
Timo Paulssen 8e120bf718 added test cases for heredoc and triple-single. 2011-05-13 11:24:16 -04:00
Timo Paulssen 505439cc0a simple tests for heredoc. 2011-05-13 11:24:16 -04:00
Ludwig Nussel 9ef5139918 get rid of diag explain again 2011-03-04 11:23:10 -04:00
Joey Hess 9d548239a9 turn off verbose
Want to avoid debug messages during tests
2011-02-09 14:11:29 -04:00
Joey Hess a68c191f9f fix test count 2011-02-09 14:11:14 -04:00
Joey Hess 8e8311718a Merge remote branch 'smcv/ready/transient-tag'
Conflicts:
	t/tag.t
2011-02-09 14:11:06 -04:00
Joey Hess b522d8cdda Merge remote branch 'smcv/ready/transient-autoindex' 2011-02-09 14:00:59 -04:00
Joey Hess db9f2b1b2b Merge remote branch 'smcv/ready/tag-test' 2011-02-09 13:47:39 -04:00
Joey Hess b4d2910dda clean up t/tmp 2011-01-24 19:58:51 -04:00
Joey Hess 6e96b5921a remove more test diag stuff that needs a newer Test::More than debian stable's 2011-01-24 17:23:58 -04:00
Simon McVittie 5a73ed82cf autoindex test: write autoindex pages into the transient underlay 2011-01-22 22:39:45 +00:00
Simon McVittie 059259ecd1 Allow autoindex files to be written into the transient underlay
As with the tag plugin, for the moment keep the old behaviour in the test.
2011-01-22 22:36:41 +00:00
Simon McVittie 8ee9eabb1c autoindex: stop tracking deletions, use generic autofile tracking instead
- Migrate the set of deletions to the {autofile} set, since it has
  more or less the same effect. This affects the "deleted" case in the
  test.
- If a page has just been deleted, add it as an autofile anyway: by
  the time gen_autofile is called, it'll be in the list of deleted files,
  so it'll just be added to {autofile}. This affects the "gone" case
  in the test.
- Behaviour change: we don't forget that a page with no reason to be
  re-created was deleted. This affects the 'expunged' and 'reinstated'
  cases in the test.
2011-01-22 22:28:50 +00:00
Simon McVittie db029393f6 autoindex.t: check that none of the files that shouldn't be generated are autofiles 2011-01-22 22:27:04 +00:00
Simon McVittie dca6679a54 autoindex: use add_autofile
This does cause a minor regression: index pages are now committed
individually rather than being a single commit per rebuild.

This also means the autoindex regression test needs to trigger the
autofile generation pass.
2011-01-22 22:25:48 +00:00
Simon McVittie 0118479c9a autoindex.t: check that attachments cause indexing 2011-01-22 22:23:50 +00:00
Simon McVittie e15e6cce6c autoindex test: check that an internal page doesn't cause indexing 2011-01-22 22:22:48 +00:00
Joey Hess 0e224058e7 Adapt autoindex test suite to work with old Test::More. 2011-01-22 11:00:57 -04:00
Simon McVittie f695bdd843 tag test: write tag pages into the transient underlay 2011-01-07 20:11:19 +00:00
Simon McVittie 2a60cda172 tag: optionally write autocreated tags to the transient underlay
For the moment, have the tag test keep the old behaviour.
2011-01-07 20:09:52 +00:00
Simon McVittie eeb0ec1862 tag test: assert that the only autofiles are the ones we want 2010-12-28 13:41:59 +00:00
Simon McVittie be6ca4c4e9 po test: add more cases, including (semi-)absolute URLs
Three cases are sub-optimal, but having fixed urlto(''), they all
basically work.
2010-12-25 22:54:54 +00:00
Simon McVittie f328a2eab2 po: test beautify_urlpath with po_link_to=current
Same behaviour as 'default'.
2010-12-25 22:54:54 +00:00
Simon McVittie fbb354d70e urlto.t: test urlto('', undef, ?) 2010-12-25 22:54:54 +00:00
Simon McVittie 524a78eaca urlto.t: test more cases, including the special case for to='' 2010-12-25 22:54:54 +00:00
Simon McVittie 44cc8ca420 Add a test for autoindex's current functionality 2010-12-25 22:54:54 +00:00
Simon McVittie 4ca0eb2743 extend the 'tag' test to cover auto-creation of tag pages 2010-12-25 22:54:54 +00:00
Joey Hess 340ac56729 test w/o second parameter 2010-11-29 15:01:35 -04:00
Simon McVittie 70bdd57899 Add a regression test for urlto, baseurl and cgiurl in relative/local/absolute modes 2010-11-22 23:47:05 +00:00