Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cside/test-base-subtest
https://github.com/cside/test-base-subtest
Last synced: 8 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/cside/test-base-subtest
- Owner: Cside
- License: other
- Created: 2014-01-16T10:15:21.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-01-24T12:33:02.000Z (almost 11 years ago)
- Last Synced: 2024-10-28T16:34:05.610Z (about 2 months ago)
- Language: Perl
- Size: 180 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
# NAME
Test::Base::SubTest - Enables Test::Base to use subtest
# SYNOPSIS
use Test::Base::SubTest;
filters { input => [qw/eval/] };
run {
my $block = shift;
is $block->input, $block->expected, $block->name;
};
done_testing;__DATA__
### subtest 1
=== test 1-1
--- input: 4*2
--- expected: 8=== test 1-2
--- input : 3*3
--- expected: 9### subtest 2
=== test 2-1
--- input: 4*3
--- expected: 12# DESCRIPTION
Test::Base::SubTest is a extension of [Test::Base::Less](https://metacpan.org/pod/Test::Base::Less).
"\#\#\# TEST NAME" is a delimiter of a subtest. Indentaion is necessary.
# FUNCTIONS
This module exports all Test::More's exportable functions, and following functions:
- filters(+{ } : HashRef);
filters {
input => [qw/eval/],
};Set a filter for the section name.
- run(\\&subroutine)
run {
my $block = shift;
is $block->input, $block->expected, $block->name;
};Calls the sub for each block. It passes the current block object to the subroutine.
- run\_is(\[data\_name1, data\_name2\])
run_is input => 'expected';
- run\_is\_deeply(\[data\_name1, data\_name2\])
- register\_filter($name: Str, $code: CodeRef)Register a filter for $name using $code.
# DEFAULT FILTERS
This module provides only few filters. If you want to add more filters, pull-reqs welcome.
(I only merge a patch using no depended modules)- eval
eval() the code.
- chomp
`chomp()` the arguments.
- uc
`uc()` the arguments.
- trim
Remove extra blank lines from the beginning and end of the data. This
allows you to visually separate your test data with blank lines.# REGISTER YOUR OWN FILTER
You can register your own filter by following form:
use Digest::MD5 qw/md5_hex/;
Test::Base::Less::register_filter(md5_hex => \&md5_hex);# USE CODEREF AS FILTER
You can use a CodeRef as filter.
use Digest::MD5 qw/md5_hex/;
filters {
input => [\&md5_hex],
};# SEE ALSO
Most of code is taken from [Test::Base::Less](https://metacpan.org/pod/Test::Base::Less). Thank you very match, tokuhirom.
# AUTHOR
Hiroki Honda
# LICENSE
Copyright (C) Hiroki Honda
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.