Provided by: libtest-unit-perl_0.25-4_all bug


       Test::Unit::Assertion::Regexp - Assertion with regex matching


           require Test::Unit::Assertion::Regexp;

           my $assert_re =


       This is rather more detail than the average user will need.  Test::Unit::Assertion::Regexp
       objects are generated automagically by Test::Unit::Assert::assert when it is passed a
       regular expression as its first parameter.

           sub test_foo {
             $self->assert(qr/some_pattern/, $result);

       If the assertion fails then the object throws an exception with details of the pattern and
       the string it failed to match against.

       Note that if you need to do a 'string does not match this pattern' type of assertion then
       you can do:

          $self->assert(qr/(?!some_pattern)/, $some_string)

       ie. Make use of the negative lookahead assertion.


       Test::Unit::Assertion::Regexp implements the Test::Unit::Assertion interface, which means
       it can be plugged into the Test::Unit::TestCase and friends' "assert" method with no ill


       The class is used by the framework to provide sensible 'automatic' reports when a match
       fails. The old:

           $self->assert(scalar($foo =~ /pattern/), "$foo didn't match /.../");

       seems rather clumsy compared to this. If the regexp assertion fails, then the user is
       given a sensible error message, with the pattern and the string that failed to match it...


       Copyright (c) 2001 Piers Cawley <>.

       All rights reserved. This program is free software; you can redistribute it and/or modify
       it under the same terms as Perl itself.


       ·   Test::Unit::TestCase

       ·   Test::Unit::Assertion