logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test2::Tools::Warnings - Tools to verify warnings.

Authors

       Chad Granum <exodist@cpan.org>

Description

       This is a collection of tools that can be used to test code that issues warnings.

Exports

       All subs are exported by default.

       $count = warns { ... }
           Returns  the  count  of  warnings  produced  by  the  block. This will always return 0, or a positive
           integer.

       $warning = warning { ... }
           Returns the first warning generated by the block. If the block produces more than one  warning,  they
           will all be shown as notes, and an actual warning will tell you about it.

       $warnings_ref = warnings { ... }
           Returns  an  arrayref  with  all the warnings produced by the block. This will always return an array
           reference. If there are no warnings, this will return an empty array reference.

       $bool = no_warnings { ... }
           Return true if the block has no warnings. Returns false if there are warnings.

Maintainers

       Chad Granum <exodist@cpan.org>

Name

       Test2::Tools::Warnings - Tools to verify warnings.

Source

       The source code repository for Test2-Suite can be found at https://github.com/Test-More/Test2-Suite/.

Synopsis

           use Test2::Tools::Warnings qw/warns warning warnings no_warnings/;

           ok(warns { warn 'a' }, "the code warns");
           ok(!warns { 1 }, "The code does not warn");
           is(warns { warn 'a'; warn 'b' }, 2, "got 2 warnings");

           ok(no_warnings { ... }, "code did not warn");

           like(
               warning { warn 'xxx' },
               qr/xxx/,
               "Got expected warning"
           );

           is(
               warnings { warn "a\n"; warn "b\n" },
               [
                   "a\n",
                   "b\n",
               ],
               "Got 2 specific warnings"
           );

See Also