App-Spec

 view release on metacpan or  search on metacpan

lib/App/Spec/Run/Validator.pm  view on Meta::CPAN

            if ( not @$values and $spec->required) {
                $errs->{ $type }->{ $name } = "missing";
                next;
            }

            if (not @$values) {
                next;
            }

            if ($spec->unique and (uniq @$values) != @$values) {
                $errs->{ $type }->{ $name } = "not_unique";
                next;
            }

        }
        else {

            if (not defined $value) {
                if (defined (my $default = $spec->default)) {
                    $value = $default;
                    $items->{ $name } = $value;

t/data/11.invalid.yaml  view on Meta::CPAN

-
   args: [ myapp, convert, nonsense ]
   stderr:
   - regex: 'Usage: myapp convert <type> <source> <value> <target>\+'
   - regex: 'type.*invalid'
   exit: 1
-
   args: [ myapp, convert, distance, meter, 23, foot, foot ]
   stderr:
   - regex: 'Usage: myapp convert <type> <source> <value> <target>\+'
   - regex: 'target.*not_unique'
   exit: 1
-
  args: [ myapp, convert, distance, meter, foobar, foot ]
  stderr:
  - regex: 'Usage: myapp convert <type> <source> <value> <target>\+'
  - regex: 'value.*invalid'
  exit: 1

-
  args: [ myapp, config, --set, colour=auto ]



( run in 0.834 second using v1.01-cache-2.11-cpan-cc502c75498 )