2005-10-15 Matthew Astley <mca1001@users.sourceforge.net>
* doc/release-checklist, doc/TODO, ChangeLog: updates for release
* lib/Test/Unit.pm: version 0.25
* MANIFEST: add licence and class-diagram files, remove old
exmample; keep in "make manifest" generated order
* t/tlib/AssertTest.pm (test_fail_assert_not_null): extra check,
for SF bug #610499
* lib/Test/Unit/Assert.pm (assert_deep_equals): fix comparisons of
cyclic structures (thanks flacoste, SF patch #678422), comparisons
of undefs (thanks flacoste, Debian BTS #249678), comparison of
SCALAR refs
* t/tlib/AssertTest.pm (test_assert_deep_equals): add modified
test from SF bug #1012115; modified test from flacoste's SF patch
#678422; more tests on SCALAR refs, and improve the regexp
2005-08-19 Matthew Astley <mca1001@users.sourceforge.net>
* doc/TODO: notes on HarnessUnit, UnitHarness; more on stuff I'd
like to do later
* examples/README: minor update
2005-08-03 Matthew Astley <mca1001@users.sourceforge.net>
* doc/class-diagram.{dia,txt,png}: first stab at a UML class
diagram, see how it goes
2005-08-01 Matthew Astley <mca1001@users.sourceforge.net>
* lib/Test/Unit.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/TestRunner.pm:
put links to COPYING.* in Test::Unit; move copyright notices from
testrunner modules to Test::Unit
* lib/Test/Unit/<many>, t/tlib/AllTests.pm: set AUTHOR POD
sections to the same boilerplate, in files that don't appear to be
single-author -- as described in the top level AUTHORS file
* AUTHORS: update authors list with SF ids and what I found while
boilerplating the PODs; add explicit copy of the Perl licence,
taken from Debian perl-base package v5.8.4-2
* COPYING.Artistic, COPYING.GPL-2: licences copied from Debian
base-files package v3.0.12
2005-07-31 Matthew Astley <mca1001@users.sourceforge.net>
* lib/Test/Unit/Assert.pm (is_numeric): change the test to match
only lone numbers. fix SF bug#1014540
*** NB. this causes assert_equals to switch from assert_num_equals
to assert_str_equals in some cases
* t/tlib/AssertTest.pm (test_numericness, test_assert_equals):
tests for new is_numeric
* lib/Test/Unit/TkTestRunner.pm: make "Show..." dialog text expand
with window and include annotations. fixes SF bug#1018619
* t/try_examples.t: clear out useless 'use lib's; remove dup $^O
check; fix RT bug#3963 (thanks ILYAM); improve skipping of
untested items
* examples/tester.png: update screenshot of Tk test runner; mark
as binary
* examples/tester.pl: remove old Tk code - Test::SuiteWrapper went
away 2000-02-21
2005-07-30 Matthew Astley <mca1001@users.sourceforge.net>
* t/try_examples.t:
Fix SF bug#908422 (track changing testing output format);
Thanks: dholland, eksiegerman
[aka. SF bug#1245490, RT bug#2244]
* .cvsignore: ignore build stuff
-- other changes Adam made since REL_0_24, but aren't mentioned
already. I list them partly so I know where my towel is:
* AUTHORS: Adam became maintainer
* doc/TODO: updated
* lib/Test/Unit/Decorator.pm: some minor change I've not investigated
* lib/Test/Unit/Procedural.pm:
fix bug spotted by Matthias Ferber (and Ken) in run() (which is
usually overridden) [SF bug#760491, RT bug#3058]
* lib/Test/Unit/Runner.pm: improve filtering, POD
* lib/Test/Unit/TestCase.pm: POD for filtering
* t/tlib/RunnerTest.pm: new test for T:U:TestRunner, just tests
filtering; uses the new t/tlib/FilteredSuite.pm
2002-06-20 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestCase.pm: document new filtering via coderefs
* MANIFEST, lib/Test/Unit/Test.pm, lib/Test/Unit/TestSuite.pm, t/tlib/AllTests.pm, t/tlib/FilteredSuite.pm:
- remove ALL filtering hack, and instead allow filtering via coderefs:
sub filter {{
foo_tests => sub {
my $method = shift;
return $method =~ /foo/;
},
everything => sub { 1 },
# method lists still work
another_token => [ qw/test_method1 test_method2/ ],
}}
- add tests for filtering mechanism
2002-06-14 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit.pm: version 0.24
* ChangeLog: new stuff for 0.24
* MANIFEST:
'make manifest' revealed more missing files, though none of them crucial
* AUTHORS: change Adam's email address
* lib/Test/Unit/TestRunner.pm:
Don't die if the run was unsuccessful; we might want to reuse the runner
for another run.
* MANIFEST: argh! 0.23's MANIFEST was missing several crucial files.
2002-06-13 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Runner/Terminal.pm: forgot to update the pod
* .cvsignore: ignore tarballs
* doc/release-checklist: typo
* README, doc/release-checklist:
cut down on the poor maintainer's workload
* Changes: deprecate this file
* ChangeLog: new stuff for 0.23
* lib/Test/Unit.pm: version 0.23
* doc/TODO: mention that Attribute::Handlers probably won't work
* t/tlib/TestTest.pm, lib/Test/Unit/Error.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/Result.pm, lib/Test/Unit/TestCase.pm:
Rework the exception handling mechanisms of run_protected/run_bare so
that run-time exceptions in set_up or tear_down no longer halt the
framework, and neither do user-defined exceptions thrown in the test
methods themselves (where the framework only used to handle
straight-forward exceptions where $@ was a scalar, I think). Some
assumptions about Error.pm internals have had to be made,
unfortunately.
* lib/Test/Unit/Procedural.pm: remove spurious 'use' line
2002-06-12 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Debug.pm: allow debugging to a file with debug_to_file
2002-06-10 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Runner/Terminal.pm:
use \e[4A\r instead of \e[4F, which not all terminals support
* lib/Test/Unit/Runner/Terminal.pm:
Ahem. Forgot to change package name.
* lib/Test/Unit/TkTestRunner.pm:
check that something is selected when the user clicks 'Show...'
* lib/Test/Unit/TkTestRunner.pm: disable broken rerun button
* MANIFEST, lib/Test/Unit/Listener.pm, lib/Test/Unit/Runner.pm, lib/Test/Unit/Runner/Terminal.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm:
- new start_suite/end_suite events sent to listeners, to track where
current test is in the suite hierarchy ($runner->suites_running)
- new T::U::Runner::Terminal runner which uses terminal escape
sequences to show which suites/tests are currently being run
- result object now stored in the runner
* lib/Test/Unit/TkTestRunner.pm: clean up of code style
* lib/Test/Unit/Listener.pm:
pseudo-document the parameters for the listener interface
2002-05-23 Adam Spiers <perlunit@adamspiers.org>
* doc/TODO, lib/Test/Unit/TestCase.pm:
(poorly) document @TESTS and the filtering mechanism
* lib/Test/Unit.pm: version 0.22
* ChangeLog:
get this uptodate by merging auto-generated entries with existing ones
* lib/Test/Unit/TestSuite.pm:
allow 'ALL' as a magic test name which matches all methods in this class, e.g.
package MyTest37;
use base qw(Test::Unit::TestCase);
...
sub filter {{
skip_thirty_seven => [ 'ALL' ],
slow => [ qw(test_I_am_slow test_I_am_slow_too) ],
}}
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
assert_(str|num)(_not)?_equals now fail with undef parameters,
to avoid tests passing by accident. The user should either use
assert_null/assert_not_null, or check for undef before the assertion.
2002-05-23 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestSuite.pm:
allow 'ALL' as a magic test name which matches all methods in this class, e.g.
package MyTest37;
use base qw(Test::Unit::TestCase);
...
sub filter {{
skip_thirty_seven => [ 'ALL' ],
slow => [ qw(test_I_am_slow test_I_am_slow_too) ],
}}
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
assert_(str|num)(_not)?_equals now fail with undef parameters,
to avoid tests passing by accident. The user should either use
assert_null/assert_not_null, or check for undef before the assertion.
2002-05-14 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestCase.pm: bit more debugging
2002-03-26 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit.pm: version 0.21
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
avoid UNIVERSAL::isa, which is buggy with 5.6.0 (see perldelta)
2002-03-18 Adam Spiers <perlunit@adamspiers.org>
* t/tlib/AssertTest.pm:
update boolean assertion tests for new failure message
* doc/TODO: do_run should be public
* lib/Test/Unit/Assertion/Boolean.pm:
slightly nicer default assertion failure message
2002-03-04 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm:
avoid namespace clashes in TestCase objects (thanks to jonasbn for
pointing this problem out)
* README: update the prerequisites
2002-02-20 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assert.pm:
reintroduce caveat about $self->assert($foo =~ /$bar/)
2002-02-12 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
make $self->assert([1]); work
2002-02-05 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
assert_deep_equals takes references 'A' and 'B', not 'got' and 'expected'
2002-02-04 Adam Spiers <perlunit@adamspiers.org>
* t/tlib/AllTests.pm, t/tlib/AssertTest.pm, t/tlib/ExceptionChecker.pm, t/tlib/TestObject.pm, t/tlib/WillDie.pm:
- factor out exception checking into ExceptionChecker
- move TestObject class into separate file
- tests for test-case methods which die ( they pass but I am still
getting funny results from my real-world test-cases )-:
* doc/TODO: @TESTS needs testing
2002-01-29 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/Runner.pm, lib/Test/Unit/TkTestRunner.pm:
factor create_test_result
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
- new assert_deep_equals for comparing deep structures, mostly
ripped out of Test::More
- some tests weren't getting run because of identical hash keys
when I should have been using arrays (doh!)
2002-01-23 Adam Spiers <perlunit@adamspiers.org>
* doc/TODO: need to document @TESTS
2002-01-09 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestRunner.pm:
missed a rename from output() to annotations()
2002-01-08 Adam Spiers <perlunit@adamspiers.org>
* MANIFEST, lib/Test/Unit/Assert.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Exception.pm, lib/Test/Unit/Assertion/Regexp.pm, t/assert.t, t/tlib/AssertTest.pm:
- Fix breakage where coderef assertions were not failing. Coderef
assertions are now expected to throw Test::Unit::Failures
($self->fail() is a convenient way of doing this; see updated docs).
- New tests for assert().
- New multi_assert() for using multiple argument sets with one assertion
(plus tests).
- New assert_raises() for asserting that a coderef raises a particular
class of exception (plus tests).
* t/tlib/TestTest.pm: the famous scalar/regexp problem
2001-12-20 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assertion.pm: whitespace
2001-12-19 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestCase.pm:
missed a print -> annotate change in the pod
* t/tlib/AssertTest.pm: 3 more tests for ok()
2001-12-18 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Loader.pm:
fix problem with symbol tables containing symbol tables
* lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestRunner.pm:
rename print() to annotate()
2001-12-11 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assert.pm, t/tlib/AssertTest.pm:
- Add new assert_matches() and assert_does_not_match() assertions,
as requested by Matthias Ferber, and new tests for them of course.
- Start testing for the correct messages in T::U::Failure objects
(see check_exception()). In particular this tests that the optional
MESSAGE args are processed correctly when reporting failures.
- Improved behaviour of assert_equals() and assert_not_equals() with
undefined parameters.
- Added more stringent tests for assert_equals() and assert_not_equals().
Some of these are possibly debatable. I think the assert_equals()
matrix should be retired in favour of the check_failures() style tests
used to check assert_not_equals(), since the latter also check the
failure message and originating file/line (added a #FIXME for this).
- Fixed reversed got/expected message with $self->ok(sub { 2 + 2 }, 4);
Spotted this as a bonus of the new check_exception(), yay.
* lib/Test/Unit/TestRunner.pm, t/try_examples.t:
autoflush TestRunner's output stream
2001-12-07 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestRunner.pm: Don't need that \n *either*. Doh!
* lib/Test/Unit/TestRunner.pm: don't need that \n either
2001-12-06 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestCase.pm: document print()
2001-12-05 Adam Spiers <perlunit@adamspiers.org>
* doc/TODO, lib/Test/Unit/Exception.pm, lib/Test/Unit/Result.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestRunner.pm:
can now call $self->print("debugging stuff") within test case methods
and if the test fails or "errors" you get to see all the debugging
accumulated from the above calls
2001-12-04 Adam Spiers <perlunit@adamspiers.org>
* doc/TODO: ideas from Test::More
* doc/TODO: $Error::Depth bug fixed (I think)
* lib/Test/Unit/Assert.pm:
We seem to have obtained an extra 2 stack frames somewhere along the line.
This makes the new, more stringent exception checking tests in AssertTest.pm
pass.
* t/tlib/AssertTest.pm:
- Added hairiness to failure/error testing, so it now doesn't just
check that the exception was raised, but also checks that its file()
and line() methods point correctly to the source of the failed assertion.
- Refactored duplicated code from check_failures() and check_errors() into
check_exceptions()
* lib/Test/Unit/TestCase.pm: tiny cosmetic tweak
* TestLister.pl, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestSuite.pm:
simple but pretty script for listing suite structure rather than running it
* examples/fail_example.pm, lib/Test/Unit/Debug.pm:
missed a few DEBUGs in fail_example.pm
* Makefile.PL, doc/TODO:
require base.pm version 1, so that a warning is generated for buggy
base.pms
* lib/Test/Unit.pm: link to AUTHORS file
* TestRunner.pl: example usage of debugging
* lib/Test/Unit/Loader.pm: avoid warning
* AUTHORS: Kevin was listed twice
2001-12-03 Piers Cawley <pdcawley@iterative-software.com>
* AUTHORS: Added the list of Authors who've written code for PerlUnit.
Almost certainly incomplete. Add your details please.
2001-12-03 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/HarnessUnit.pm: don't need that \n
* doc/TODO: fixed
* lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/Loader.pm, lib/Test/Unit/Result.pm, lib/Test/Unit/Setup.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/UnitHarness.pm, t/all_tests.t, t/tlib/ListenerTest.pm, MANIFEST, lib/Test/Unit/Assert.pm, lib/Test/Unit/Debug.pm, lib/Test/Unit/Decorator.pm, lib/Test/Unit/Exception.pm:
All debugging now happens through a simple unified debugging class
Test::Unit::Debug. This allows the user to turn debugging on/off
dynamically, still on a per-package basis, but in a more convenient
way. Also eliminates the problem with `make test' failing when
DEBUG is "compiled in".
* doc/TODO: more jobs
* t/tlib/TestTest.pm: should have a name
* t/tlib/TestTest.pm:
give inner classes names to avoid warnings in debugging
2001-11-30 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestCase.pm:
this could come in handy when overriding list_tests()
2001-11-30 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit.pm:
Added a feedback section to Test::Unit's pod, suggesting that users
join perlunit-users and generally give us some feedback.
2001-11-29 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Loader.pm: forgot to put this die() in
* MANIFEST, Makefile.PL, lib/Test/Unit.pm, lib/Test/Unit/Loader.pm, lib/Test/Unit/Procedural.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/Warning.pm, t/tlib/AllTests.pm, t/tlib/InheritedSuite/OverrideNew.pm, t/tlib/InheritedSuite/OverrideNewName.pm, t/tlib/InheritedSuite/Simple.pm, t/tlib/InheritedSuite/TestNames.pm, t/tlib/SuiteTest.pm:
some major improvements:
- fixed the existing suite-building API, extended it, documented it fully,
added/improved tests for it
- reintroduced Test/Unit.pm, this time as a placeholder for $VERSION
and some introductory pod containing pointers to the other modules
- massive refactoring of Test::Unit::Loader
- factored out Test::Unit::Suite::_warning into Test::Unit::Warning, so
it could be used elsewhere
[I think he meant Test::Unit::TestSuite::_warning -- mca,
trying to prevent confusion]
- fixed NoTestCaseClass test
* examples/fail_example.pm, t/try_examples.t:
add a couple of comments now I know what this Decorator/Setup business is about
* t/try_examples.t:
skip properly, don't just mark as TODO because they aren't TODO
* lib/Test/Unit/Decorator.pm: whitespace
* lib/Test/Unit/Setup.pm: don't want those prototypes
* lib/Test/Unit/UnitHarness.pm:
- @ISA = ('Exporter') line was overriding use base lines
- whitespace now matches conventions we decided on
* t/all_tests.t, t/assert.t, t/try_examples.t:
these should be executable
2001-11-28 Adam Spiers <perlunit@adamspiers.org>
* examples/README: get this up to date (ish)
* lib/Test/Unit/Loader.pm:
- get_package_name_from_file() never worked before (missing assignment
to $filename).
- remove dependency on FileHandle; this saves us a bit of code bloat
if we're not using UnitHarness.
* t/try_examples.t:
I think this is right for fail_example.pm, maybe ...
* examples/fail_example.pm:
fail_example_testsuite_setup package needs to come second, otherwise
Test::Unit::Loader::get_package_name_from_file returns the wrong suite.
* t/tlib/ActiveTestTest.pm, t/tlib/Success.pm:
- refactoring: no point having more than one Success test case
- it should really have at least one successful test in it
* lib/Test/Unit/Loader.pm: fix the pod
* lib/Test/Unit/Loader.pm: - more suitable variable names
- don't need no strict 'refs'
- cosmetics
* lib/Test/Unit/TestRunner.pm:
TestRunner can run test cases *and* test suites
* lib/Test/Unit/HarnessUnit.pm: missing use
* doc/TODO: copyright stuff
2001-11-27 Adam Spiers <perlunit@adamspiers.org>
* doc/TODO, lib/Test/Unit/TestSuite.pm:
Allow test suites to be derived from Test::Unit::TestSuite!
This turned out to be a relatively small change, and paves
the way for vast improvements IMO. The old API should still
work perfectly.
* MANIFEST, README, doc/TODO, examples/patch100132, examples/patch100132-1, examples/patch100132-2, lib/Test/Unit.pm, lib/Test/Unit/Procedural.pm:
renamed Test::Unit to Test::Unit::Procedural
* lib/Test/Unit/Test.pm, lib/Test/Unit/TestRunner.pm:
get the versioning uptodate and CPAN-compliant
* TestRunner.pl, TkTestRunner.pl:
there's no reason why these shouldn't be executable
2001-11-16 Adam Spiers <perlunit@adamspiers.org>
* doc/TODO: done that
* lib/Test/Unit/Loader.pm, t/tlib/AllTests.pm, t/tlib/BadSuite/BadUse.pm, t/tlib/BadSuite/SyntaxError.pm, t/tlib/BadSuitesTest.pm:
- might as well have some debugging in Loader if we have DEBUG
- fix misleading error when a suite has a bad dependency
- add tests for correct runner error message in above bad dependency
case, and for a straightforward syntax error
2001-11-15 Piers Cawley <pdcawley@iterative-software.com>
* MANIFEST: Added doc/TODO
2001-11-15 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Test.pm: forgot to test DEBUG
* doc/TODO: done some work on runner state and filtering
* lib/Test/Unit/TestSuite.pm: only add tests via add_test()
* MANIFEST, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/Runner.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm:
- add new Runner base class which is an appropriate place for runner state
common between all runners
- very basic example of its usage: filter tokens - add something like
this to your test case
sub filter {{
'slow' => [ 'test_a_slow_one', 'test_another_slow_one' ],
'really_slow' => [ 'test_wow_really_slow' ],
}}
then you can filter out slow tests via
my $runner = new Test::Unit::TestRunner();
$runner->filter(qw/slow really_slow/);
$runner->start($class);
* lib/Test/Unit/TestRunner.pm: - tidy up output a bit
- use T::U::Loader for loading main suite
* doc/TODO: done that
* t/all_tests.t, t/assert.t, t/tlib/ActiveTestTest.pm, t/tlib/AllTests.pm, t/tlib/AssertTest.pm, t/tlib/InheritedInheritedTestCase.pm, t/tlib/InheritedTestCase.pm, t/tlib/ListenerTest.pm, t/tlib/NoTestCaseClass.pm, t/tlib/NoTestCases.pm, t/tlib/OneTestCase.pm, t/tlib/OverrideTestCase.pm, t/tlib/Success.pm, t/tlib/SuiteTest.pm, t/tlib/TestAssertionCodeRef.pm, t/tlib/TestTest.pm, t/tlib/TornDown.pm, t/tlib/WasRun.pm, t/try_examples.t, MANIFEST, README, lib/Test/Unit/Assert.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/Tutorial.pm:
move lib/Test/Unit/tests/*.pm to t/tlib
* doc/TODO, doc/consensus.txt: moved some stuff to TODO
* doc/consensus.txt:
removing stuff about new assertion mechanism, this is now in HEAD
and documented (Test::Unit::Assert*)
* doc/TODO, doc/consensus.txt: new doc/TODO
2001-11-14 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assertion/Boolean.pm:
get optional messages working just like with assert_str_equals etc.
2001-11-13 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assert.pm: - add support to ok() for optional comments
- make ok() raise error not failure with bad args
- fix assert_num_equals ditching optional comment
* lib/Test/Unit/Assertion/Regexp.pm: making debugging more readable
* lib/Test/Unit/Assertion/Boolean.pm:
- fix typo which was hiding optional failure comment
- making debugging more readable
* lib/Test/Unit/Exception.pm: improve legibility of failures
* lib/Test/Unit/Assert.pm: - finish ok() wrapper, and add tests for it
- some refactoring into new check_failures() in T/U/tests/AssertTest.pm
2001-11-12 Adam Spiers <perlunit@adamspiers.org>
* Makefile.PL:
need 5.005 for qr//, thanks to Quinn Weaver for pointing that out
2001-11-12 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/Assertion.pm, lib/Test/Unit/Assertion/Boolean.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Regexp.pm, lib/Test/Unit/Decorator.pm, lib/Test/Unit/Error.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/ExceptionError.pm, lib/Test/Unit/ExceptionFailure.pm, lib/Test/Unit/Failure.pm, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/Listener.pm, lib/Test/Unit/Loader.pm, lib/Test/Unit/Result.pm, lib/Test/Unit/Setup.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestDecorator.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSetup.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm, t/all_tests.t, t/assert.t, t/try_examples.t, .cvsignore, ChangeLog, Changes, MANIFEST, MANIFEST.SKIP, Makefile.PL, examples/README, examples/fail_example.pm, examples/patch100132, examples/procedural-adding-suites-example.pl, examples/procedural-another-package-example.pl, examples/procedural-fail-example.pl, examples/procedural-ok-example.pl, lib/Test/Unit.pm, lib/Test/Unit/Assert.pm:
Merged changes from PDC_REFACTOR branch.
* Makefile.PL, lib/Test/Unit/TestCase.pm:
Tidied up some formatting in Test::Unit::TestCase and added a dependency
to Makefile.PL
2001-11-12 Adam Spiers <perlunit@adamspiers.org>
* doc/consensus.txt: coding style
2001-11-07 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Assert.pm: ok(): support more cases
* lib/Test/Unit/Assert.pm:
oops, ok() needs to reverse order of got/expected args
* ChangeLog:
Bring ChangeLog uptodate for this branch. Hmm, maybe we should just
let CVS and rcs2log do the hard work as far as change logs are
concerned.
* doc/consensus.txt: - only edit consensus.txt in HEAD
- consensus on use vs. require
* lib/Test/Unit/Exception.pm: cosmetics in failure output
* lib/Test/Unit/Assert.pm: - cosmetics in failure output
- add missing require (thanks to Hans Donner <cobra@pobox.com>)
- add a controversial but very convenient and harmless alias:
&ok -> &assert_equals
* .cvsignore: New file.
* .cvsignore: cvs-ignore Makefile
* doc/consensus.txt: deal with broken base.pm issue
2001-10-31 Piers Cawley <pdcawley@iterative-software.com>
* MANIFEST: Tidied up the MANIFEST so make tardist works.
* MANIFEST, t/try_examples.t:
Fixed t/try_examples.t to recognize a passing test.
2001-10-30 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/TestRunner.pm, lib/Test/Unit/UnitHarness.pm, Makefile.PL:
Tidied up output of TestRunner
Added prerequisites to Makefile.PL
Removed some dependencies on Test::Unit::InnerClass
2001-10-26 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/tests/AssertTest.pm: fix barewords error
2001-10-25 Adam Spiers <perlunit@adamspiers.org>
* doc/consensus.txt: todo: check for broken Error.pms
2001-09-07 pdcawley <pdcawley@iterative-software.com>
* ChangeLog: Added some stuff in the ChangeLog
* lib/Test/Unit/Result.pm: More doc fixes.
* lib/Test/Unit/Result.pm, lib/Test/Unit/TestCase.pm:
Doctored Test::Unit::Result again, so that if $test->run_bare *does*
return false we actually add a failure instead of just leaving things
up in the air (causes a problem with test harnesses if we don't)
* lib/Test/Unit/Assert.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/tests/AssertTest.pm, ChangeLog:
Tidied up the documentation in Test::Unit::Assert.
Made sure that Test::Unit::TestCase::run_bare returns true if it doesn't
throw an exception.
* lib/Test/Unit/TestCase.pm: An attempt at improving the documentation.
* lib/Test/Unit/Setup.pm: New file.
* Changes, MANIFEST, examples/README, examples/fail_example.pm, lib/Test/Unit/Setup.pm, lib/Test/Unit/TestSetup.pm:
Renamed Test::Unit::TestSetup to Test::Unit::Setup
* lib/Test/Unit/Listener.pm, lib/Test/Unit/tests/ListenerTest.pm:
New file.
* MANIFEST, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/Listener.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm, lib/Test/Unit/tests/AllTests.pm, lib/Test/Unit/tests/ListenerTest.pm, lib/Test/Unit/tests/TestListenerTest.pm:
Renamed Test::Unit::TestListener to Test::Unit::Listener
* lib/Test/Unit/Decorator.pm: New file.
* MANIFEST, lib/Test/Unit/Decorator.pm, lib/Test/Unit/TestDecorator.pm, lib/Test/Unit/TestSetup.pm:
Renamed Test::Unit::TestDecorator to Test::Unit::Decorator
* lib/Test/Unit/Loader.pm: New file.
* ChangeLog, MANIFEST, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/Loader.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TkTestRunner.pm:
Renamed Test::Unit::TestLoader to Test::Unit::Loader
2001-09-07 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/TestCase.pm
(run_bare): Made sure it returns true if it doesn't throw an exception.
* lib/Test/Unit/tests/AssertTest.pm
(test_fail_assert_not_equals):
(test_success_assert_not_equals): Added tests for assert_not_equals.
* lib/Test/Unit/Assert.pm
Doc fixes.
(assert_not_equals): Aadded the option to assert that things
aren't equal. Also added appropriate
(assert_(str|num)_not_equals) methods.
2001-09-02 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/Loader.pm
(load): Improved the error message when a file can be found, but
has a syntax error.
* lib/Test/Unit/TestFailure.pm:
Removed.
* lib/Test/Unit/InnerClass.pm:
Removed
* lib/Test/Unit/tests/AssertTest.pm
Switched to a ResultsMatrix style of testing. Seems to work quite
well...
* lib/Test/Unit/Assert.pm
(is_numeric): Got rid of warnings when the argument isn't numeric.
* t/all_tests.t:
* t/assert_test.t:
Got rid of C<use lib '../lib'> since blib should be handling that.
* lib/Test/Unit/tests/TestTest.pm:
Basic refactoring to use Class::Inner.
(make_dummy_testcase): New helper method to make anonymous
classes used in many of the tests.
* lib/Test/Unit/Assertion/Boolean.pm
(do_assertion): Switched to a slightly more sensible way of
generating failure messages.
* lib/Test/Unit/Loader.pm
(load): Changed the order in which we call C<try_test_suite> and
C<try_test_case>.
* lib/Test/Unit/TestResult.pm:
Removed dependency on Test::Unit::TestFailure.
* lib/Test/Unit/ExceptionError.pm
(make_from_error_simple): Fixed things up slightly. This method
maybe needs a leading underscore; Framework users should probably
never see it...
* lib/Test/Unit/Assertion.pm
(fail): Fixed things to put appropriate information into the
thrown exception.
* lib/Test/Unit/Assert.pm:
General refactoring work to get things working with the CPAN
modules.
(assert): Now, when an exception is generated, we try and get the
appropriate caller information for setting -line and -file. Which
is nice.
(assert_equals): Fixed to use try/catch. Fixed a nasty bug with @_
getting silently emptied via try, so now, before we call try, we
copy @_ to @args and use that inside the closure, otherwise
assert_equals would always return true.
(assert_str_equals,assert_num_equals,assert_null,assert_not_null):
All now set $Error::Depth correctly.
* lib/Test/Unit/Exception.pm
(stringify): Tidied up stringification.
(failed_test, thrown_exception): We now conform to the
Test::Unit::TestFailure interface. Which means that we can get rid
of Test::Unit::TestFailure itself. Which is nice.
* lib/Test/Unit.pm:
Switched to using Devel::Symdump, Class::Inner and Error
(assert): Moved to the try/catch style.
(create_suite): Vaguely major refactoring. Switched to using
Devel::Symdump and Class::Inner instead of the hand rolled symbol
table manipulation and Test::Unit::InnerClass
2001-08-31 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit.pm: Fixed a silly typo induced bug.
* MANIFEST, MANIFEST.SKIP, Makefile.PL, examples/patch100132, examples/procedural-adding-suites-example.pl, examples/procedural-another-package-example.pl, examples/procedural-fail-example.pl, examples/procedural-ok-example.pl, lib/Test/Unit.pm, lib/Test/Unit/Assertion.pm, lib/Test/Unit/Assertion/Boolean.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Regexp.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/ExceptionError.pm, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestDecorator.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSetup.pm, lib/Test/Unit/TestSuite.pm, t/try_examples.t:
Beginnings of a major refactoring.
1. Replace Test::Unit::InnerClass with Class::Inner
2. Use Error.pm as the basis for exception handling and try/catch/...
in place of eval.
3. Use Devel::Symdump in place of hand rolled symbol table manipulation.
4. Also includes an attempt at an 'assert_equals' that does the right
thing in most cases. Tries to make reasonable guesses about numeric or
string comparison, and can make use of object based equality things.
5. Started to port jUnit tests that make sense in the context of PerlUnit.
TODO: Need to get the procedural Test::Unit working. Or abandon it. However,
it does do some stuff that Test::More and friends don't (no plan testing
that actually produces a sensible 'test count')
Write more tests. (Patches welcome)
* t/assert.t:
Calls the (too) simple set of tests for Test::Unit::Assert and friends.
* t/assert.t: New file.
2001-08-30 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/Assert.pm:
Removed some warnings when called with 'undef'.
Also added a stringification of undef to <undef> when reporting failures...
2001-06-18 Christian Lemburg <clemburg@sourceforge.net>
* Changes, MANIFEST, examples/README, examples/fail_example.pm, lib/Test/Unit.pm, lib/Test/Unit/TestDecorator.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestSetup.pm:
added TestSetup and TestDecorator by Kevin Connor
2001-05-05 Christian Lemburg <clemburg@sourceforge.net>
* README, Changes: for version 0.14
* t/try_examples.t: do not assume order of tests will be constant
* lib/Test/Unit/Assertion/Boolean.pm:
fix for problem with use base and older perls
* lib/Test/Unit/Assert.pm: document Piers additions
* lib/Test/Unit.pm: new version, updated team member list
2001-04-27 Matthew Astley <mca-gdl@sourceforge.net>
* t/try_examples.t: add redirection warning for Win32
2001-04-09 Matthew Astley <mca-gdl@sourceforge.net>
* doc/consensus.txt:
wittering about packaging, plus my vague plan for things I fancy doing
* t/try_examples.t:
checks STDOUT & STDERR together, from invoking the examples
doesn't look at return codes
2001-03-19 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit.pm, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/UnitHarness.pm:
Redid Test::Unit::InnerClass to be more 'classlike'. (ie, calling
Test::Unit::InnerClass::make_inner_class as a class method rather than as a
direct subroutine call)
Added Test::Unit::InnerClass::make_inner_class_with_coderefs
Instead of taking an extension_text argument, takes a hash of coderefs
and uses the keys as method names. Lets you do closure magic and the like
when creating inner classes.
Moved Test::Unit::InnerClass::make_inner_class to
T::U::IC::make_inner_class_with_text. The make_inner_class subroutine now
looks at $_[2] to determine whether to dispatch to the _with_text version
of the method or the _with_coderefs version.
Modified all the clients of Test::Unit::InnerClass to do proper Class based
method dispatch.
Modified Test::Unit::tests::TestTest to create some of its inner classes using
the 'hash of coderefs' approach.
Didn't do the documentation yet.
2001-03-17 Christian Lemburg <clemburg@sourceforge.net>
* Makefile.PL:
take version number for distribution file from lib/Test/Unit.pm
* doc/release-checklist:
changed to take distribution file version number from lib/Test/Unit.pm
* doc/release-checklist: more documentation on release procedure
* doc/release-checklist:
added documentation on release procedure and explanation of version number stuff
* lib/Test/Unit.pm:
Added version number again, it has to be in the module, added explanation
2001-03-08 Piers Cawley <pdcawley@iterative-software.com>
* MANIFEST.SKIP, Makefile.PL, lib/Test/Unit/Assert.pm, lib/Test/Unit/Assertion.pm, lib/Test/Unit/Assertion/Boolean.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Regexp.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestRunner.pm, MANIFEST:
Merged the pdc_coderefassert branch.
2001-03-07 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/TestCase.pm: add missing use
2001-03-06 Piers Cawley <pdcawley@iterative-software.com>
* doc/consensus.txt: Added some commentary
* lib/Test/Unit/Assert.pm:
Stopped Test::Unit::Assert::normalize_assert from dying when passed an
object that can't 'do_assertion'. Instead treats it as the argument for
Test::Unit::Assertion::Boolean::new.
(Came across this bug while testing some of my 'real' code).
This should also mean that, if you
package Foo;
use overload
bool => sub {...}
Then assertion will continue to work properly.
I've added a test for the simple case --
T:U:t:TestTest::test_assert_with_non_assertion_object (essentially it's
always going to be true in this instance), but not for the case where
'bool' is overridden. I'll leave that as an exercise for the interested
reader (plus I'm not sure how to make inner classes do overrides).
2001-03-06 Matthew Astley <mca-gdl@sourceforge.net>
* doc/consensus.txt: updates
2001-03-05 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/Assert.pm, lib/Test/Unit/Assertion.pm:
Added some appropriate 'require's to these class files.
* Makefile.PL, lib/Test/Unit/Assertion.pm, lib/Test/Unit/Assertion/Boolean.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Regexp.pm:
Added a bunch of documentation to T::U::Assertion and its subclasses.
Removed the dependency on B::Deparse (I think. If someone who hasn't got
this installed could test it...)
2001-03-05 Adam Spiers <perlunit@adamspiers.org>
* t/fail.t: Removing to avoid misguided fails on `make test'.
Brian can resurrect it if he wants when he resurfaces.
* lib/Test/Unit/TestResult.pm:
slightly more informative debug message in run()
2001-03-02 Piers Cawley <pdcawley@iterative-software.com>
* lib/Test/Unit/Assertion/Regexp.pm: Corrected a typo.
* lib/Test/Unit/Assertion.pm, lib/Test/Unit/Assertion/Boolean.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Regexp.pm:
New file.
* lib/Test/Unit/Assert.pm, lib/Test/Unit/Assertion.pm, lib/Test/Unit/Assertion/Boolean.pm, lib/Test/Unit/Assertion/CodeRef.pm, lib/Test/Unit/Assertion/Regexp.pm:
Reified assertions.
Added assertion classes for coderefs, regular expressions and booleans.
Now Test::Unit::Assert::assert takes the first argument, the assertion,
creates an appropriate assertion object, and calls the object's do_assertion
method.
This seems to be a win.
Check out T::U::tests::SuiteTest and the 'basic_assertion' method. This is
possibly using a coderef for the sake of it, but it's one way of testing it
hard...
If you check out T::U::tests::TestTest you'll see a big win on the
regexp front.
Instead of
$self->assert(scalar("foo" =~ /bar/), "Should not match");
we have
$self->assert(qr/bar/, "foo");
(I haven't worked out how to name such an assertion, but the default
error message for that would look like:
'foo' did not match /(?-xism:bar)/
which is pretty useful already)
2001-02-28 Matthew Astley <mca-gdl@sourceforge.net>
* doc/consensus.txt: append
* lib/Test/Unit/TestCase.pm: Use the class 'isa' not the global one
* doc/consensus.txt, lib/Test/Unit/TestCase.pm:
fix exceptions that look like object names
2001-02-27 Matthew Astley <mca-gdl@sourceforge.net>
* doc/consensus.txt: First cut should mention most current issues
2001-02-27 Piers Cawley <pdcawley@iterative-software.com>
* Makefile.PL: Added the B::Deparse prerequisite.
* MANIFEST, lib/Test/Unit/Assert.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestRunner.pm:
Added an option to call assert with a coderef (currently using the
coderef_assert method, but if this is accepted we'll make the 'assert'
method DTRT.)
Taken advantage of this to tidy up the kind of error reporting that
gets done. Which is nice. Still needs a pile of work done, but I think it's
a start.
2001-02-27 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestSuite.pm:
patch by Piers Cawley to fix overriden tests
2001-02-22 Adam Spiers <perlunit@adamspiers.org>
* lib/Test/Unit/Exception.pm:
fixed small bug where new() was assumed to be always used as an
instance method and never as a class method
* lib/Test/Unit/InnerClass.pm:
- slightly improve legibility and remove need for no strict 'refs'
- die with helpful error if compilation of inner class fails
* lib/Test/Unit/HarnessUnit.pm:
- make runner output more concise and legible
- do not exit(-1) on failures, as that breaks TestHarness
- output $exception->to_string() rather than $exception->stacktrace()
to avoid hiding valuable error messages
- standardise whitespace
* lib/Test/Unit/TestListener.pm: fix trivial braino in croak message
2001-02-22 Matthew Astley <mca-gdl@sourceforge.net>
* doc/release-checklist:
Stash consensus reached so far on the mailing list
2001-02-20 Matthew Astley <mca-gdl@sourceforge.net>
* lib/Test/Unit/Assert.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/ExceptionError.pm, lib/Test/Unit/ExceptionFailure.pm, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/Tutorial.pm, lib/Test/Unit/UnitHarness.pm, lib/Test/Unit.pm:
Fixes Bug#133287: Remove indentation from pod
2001-02-17 Christian Lemburg <clemburg@sourceforge.net>
* README, Changes, Makefile.PL: version 0.13
* lib/Test/Unit.pm: removed misleading version info
* lib/Test/Unit.pm:
make people aware of message arg
* examples/procedural-fail-example.pl:
show that procedural interface can handle regex problem
* lib/Test/Unit.pm: added function prototype for assert()
* lib/Test/Unit/Assert.pm:
added documentation about regex in boolean context
* lib/Test/Unit/TkTestRunner.pm:
make the GUI adhere to hide of stacktrace, too - patch by David Esposito
* lib/Test/Unit/Assert.pm:
mention optional message arg to assert - variant of patch by David Esposito
* lib/Test/Unit/Assert.pm, lib/Test/Unit/TestCase.pm:
corrected patch to hide backtrace
2001-02-06 Christian Lemburg <clemburg@sourceforge.net>
* Changes, Makefile.PL, README, lib/Test/Unit.pm, lib/Test/Unit/Assert.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/TestCase.pm:
added patch by Matthew Astley to quell backtrace on failed tests
2000-07-09 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestCase.pm:
Eliminated two blanks in pod documentation that caused problems
2000-05-07 Christian Lemburg <clemburg@sourceforge.net>
* Changes, MANIFEST, README, test.pl: moved to standard CPAN style
* examples/README: corrected typo
* examples/Experimental/Sample.pm, examples/README, examples/patch100132, examples/patch100132-1, examples/patch100132-2:
added explanation of examples, added reply to patch100132
2000-04-22 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit.pm, lib/Test/Unit/Assert.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/ExceptionError.pm, lib/Test/Unit/ExceptionFailure.pm, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/Tutorial.pm, lib/Test/Unit/UnitHarness.pm:
added and/or modified documentation
* lib/Test/Unit/TestResult.pm, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/Assert.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/ExceptionError.pm, lib/Test/Unit/ExceptionFailure.pm, lib/Test/Unit/Tutorial.pm:
added documentation
* lib/Test/Unit/TestCase.pm, lib/Test/Unit.pm: modified documentation
* lib/Test/Unit.pm: added documentation
2000-03-06 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestCase.pm: Fixed bug in POD
* lib/Test/Unit/TestCase.pm: better documentation
* lib/Test/Unit.pm: removed useless paranoid reload avoidance code
2000-03-05 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/Tutorial.pm:
container for tutorial on unit testing with framework
* examples/procedural-adding-suites-example.pl:
example for procedural API test suite composition feature
* README: procedural API can now compose test suites, too
* lib/Test/Unit.pm:
added procedural API test suites composing feature add_suite()
2000-03-04 Christian Lemburg <clemburg@sourceforge.net>
* README, examples/procedural-another-package-example.pl:
added inter-package suite creation and run features to Procedural API
* lib/Test/Unit.pm: added inter-package suite creation and run features
* lib/Test/Unit/Exception.pm:
changed stacktrace to begin at level of caller of Exception->new()
* lib/Test/Unit/TestCase.pm:
fixed run_bare() debug output to say it comes from run_bare, not _run_bare
* lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/TestCase.pm:
removed useless middleman _run()
* lib/Test/Unit.pm:
exported names will be seen on multiple uses, added filehandle arg to run_suite
* lib/Test/Unit/TestRunner.pm:
removed _run method, changed exit() to die() and return for ending run
2000-02-29 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestCase.pm: first start at some documentation
* lib/Test/Unit/Test.pm, lib/Test/Unit/TestSuite.pm:
enlarged Test interface (name, to_string), TestSuite run() returns result
* lib/Test/Unit/TestSuite.pm:
fixed bug in eval subroutine run_test in warning() - missing right curly
2000-02-27 Brian Ewins <ba22a@sourceforge.net>
* lib/Test/Unit/TkTestRunner.pm: Fixed copyright notice
2000-02-27 Christian Lemburg <clemburg@sourceforge.net>
* README, examples/procedural-fail-example.pl, examples/procedural-ok-example.pl:
removed use lib from procedural API examples, use -I on commandline instead
2000-02-26 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestRunner.pm:
TestRunner now also uses Benchmark for timing info
* examples/procedural-fail-example.pl:
show we also can handle messages ... has not been advertised yet ...
* README, examples/procedural-fail-example.pl, examples/procedural-ok-example.pl, lib/Test/Unit.pm:
first cut at a procedural API wrapper, with examples (see README)
* lib/Test/Unit/Exception.pm: nicer output again
* lib/Test/Unit/Exception.pm, lib/Test/Unit/TestFailure.pm:
modified stringifying methods and their interplay for nicer output on errors
* lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm:
Test inherits from Assert now, so TestCase and TestSuite can now assert()
2000-02-25 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/InnerClass.pm:
removed use of constant module to avoid warnings when reloading in test
2000-02-25 Brian Ewins <ba22a@sourceforge.net>
* lib/Test/Unit/TkTestRunner.pm: Fixed the File and About dialogs.
2000-02-24 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/Exception.pm:
separated to_string(), get_message(), and stacktrace()
2000-02-24 Brian Ewins <ba22a@sourceforge.net>
* lib/Test/Unit/TkTestRunner.pm:
Whoops forgot line to set the number of planned tests in
progress bar...
* TkTestRunner.pl, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm:
Many updates to GUI, now nearer to JUnit. Private stub
exceptions/testcases used in UnitHarness to complete
wrapping.
2000-02-23 Christian Lemburg <clemburg@sourceforge.net>
* MANIFEST, README, lib/Test/Unit/InnerClass.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestSuite.pm, lib/Test/Unit/UnitHarness.pm:
fixed make_inner_class(), put it in own module, changed calls, added testcase
2000-02-23 Brian Ewins <ba22a@sourceforge.net>
* lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm, t/fail.t:
Lots of GUI bug fixes. Doh!
* lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TkTestRunner.pm:
Bugfixes in GUI and Loader now recognizes arbitrary .pm's
* lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm:
Nicer looking but still incomplete GUI with
all-new 'ArrayBar' widget. Support for '.t' tests
added to TestLoader, so now GUI supports them again.
Display of .t fails should be improved next...
GUI shows progress correctly *except* when dealing with
.t tests because 'plan()' method isnt implemented in
TestRunner.
Exception details dialog added. Currently the code to
collect these details for .t tests (ie the 'verbose'
output between ok/not ok messages) is not collected.
2000-02-22 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestSuite.pm:
fixed extraction of test suite to work across whole inheritance tree
* lib/Test/Unit/TestResult.pm:
deleted useless sanity check method clone_listeners
* lib/Test/Unit/TestSuite.pm:
resolved overloading of constructor by introducing string constructor empty_new
* lib/Test/Unit/TestRunner.pm:
deleted sub extract_class_name and changed suite method test to can()
2000-02-22 Brian Ewins <ba22a@sourceforge.net>
* t/all_tests.t, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/TestLoader.pm:
Fleshed out HarnessUnit and implemented (sortof) tests for it.
TestLoader was updated to recognize classes with a suite method.
2000-02-22 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, README, test.pl:
added TestSuite tests - 21 tests running OK
2000-02-21 Brian Ewins <ba22a@sourceforge.net>
* README, TkTestRunner.pl, lib/Test/SuiteWrapper.pm, lib/Test/Unit/HarnessUnit.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestLoader.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TkTestRunner.pm, lib/Test/Unit/UnitHarness.pm:
Integrated TkTestRunner. Added partial TestLoader and
fleshed out TestListener.
2000-02-21 Christian Lemburg <clemburg@sourceforge.net>
* lib/Test/Unit.pm:
Deleted Unit.pm - it has been splitted to separate class files
* MANIFEST, README, TestRunner.pl, lib/Test/Unit/Assert.pm, lib/Test/Unit/Exception.pm, lib/Test/Unit/ExceptionError.pm, lib/Test/Unit/ExceptionFailure.pm, lib/Test/Unit/Test.pm, lib/Test/Unit/TestCase.pm, lib/Test/Unit/TestFailure.pm, lib/Test/Unit/TestListener.pm, lib/Test/Unit/TestResult.pm, lib/Test/Unit/TestRunner.pm, lib/Test/Unit/TestSuite.pm, test.pl:
Running first version, separate class files, CPAN style method names
2000-02-20 Brian Ewins <ba22a@sourceforge.net>
* Changes, MANIFEST, Makefile.PL, examples/tester.pl, examples/tester.png, lib/Test/SuiteWrapper.pm, lib/Test/Unit.pm, test.pl:
A work area for the new 'Test::Unit'. This currently contains:
- standard CPAN bundling
- Christian's test.pl and new Unit.pm (as lib/Test/Unit.pm)
- my own 'Test::SuiteWrapper.pm', which works on test::harness
tests;
- examples/tester.pl - a Tk gui for using SuiteWrapper.
- examples/tester.png - a screenshot. oooh.