CXC-Form-Tiny-Plugin-OptArgs2

 view release on metacpan or  search on metacpan

t/inherit.t  view on Meta::CPAN

#! perl

use v5.20;

use Test2::V0;
use Test::Lib;

use My::Test::AutoCleanHash;
use OptArgs2;
use Ref::Util 'is_regexpref';
use List::Util 'pairmap';

use experimental 'signatures', 'postderef';

##no critic (Modules::ProhibitMultiplePackages)

package My::SubForm0 {

    use Form::Tiny plugins => ['+CXC::Form::Tiny::Plugin::OptArgs2'];

    use Types::Standard qw( Any );

    form_field 'subfield0' => ( type => Any );
    option(
        isa     => 'Str',
        comment => 'subfield0',
        default => sub { 'subvalue0' },
    );
}

package My::SubForm1 {

    use Form::Tiny plugins => ['+CXC::Form::Tiny::Plugin::OptArgs2'];
    use Types::Standard qw( Any );

    extends 'My::SubForm0';

    form_field 'subfield1' => ( type => Any );
    option(
        isa     => 'Str',
        comment => 'subfield1',
        default => sub { 'subvalue1' },
    );
}

package My::Form0 {

    use Form::Tiny plugins => ['+CXC::Form::Tiny::Plugin::OptArgs2'];
    use Types::Standard 'Any';
    form_field 'field0' => ( type => Any, );
    option(
        isa     => 'Str',
        comment => 'field0',
        default => sub { 'value0' },
    );

    form_field 'nested0' => ( type => My::SubForm1->new );
}

package My::Form1 {

    use Form::Tiny plugins => ['+CXC::Form::Tiny::Plugin::OptArgs2'];
    use Types::Standard 'Any';

    extends 'My::Form0';

    form_field 'field1' => ( type => Any, );
    option(
        isa     => 'Str',
        comment => 'field1',



( run in 0.529 second using v1.01-cache-2.11-cpan-99c4e6809bf )