PATH=C:\Program Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft Platform SDK\Bin\WinNT;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\cygwin\bin;C:\cpanfly-5.14\var\megalib\bin;C:\Perl-5.14\site\bin;C:\Perl-5.14\bin;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\instantclient_11_2;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\mysql\bin Start 2013-09-18T02:48:19 ActivePerl-1400 CPAN-2.00 LIB=C:\PROGRA~1\MICROS~3\VC98\Lib\PSDK;C:\PROGRA~1\MICROS~2\Lib;C:\PROGRA~1\MICROS~3\VC98\Lib;C:\PROGRA~1\MICROS~3\VC98\MFC\Lib INCLUDE=C:\PROGRA~1\MICROS~2\Include;C:\PROGRA~1\MICROS~3\VC98\ATL\Include;C:\PROGRA~1\MICROS~3\VC98\Include;C:\PROGRA~1\MICROS~3\VC98\MFC\Include PATH=C:/CPANFL~1.14/var/libs/bin;C:\PROGRA~1\MICROS~2\Bin;C:\PROGRA~1\MICROS~2\Bin\WinNT;C:\PROGRA~1\MICROS~3\VC98\Bin;C:\PROGRA~1\MICROS~3\Common\MSDev98\Bin;C:\cygwin\bin;C:\CPANFL~1.14\var\megalib\bin;C:\Perl-5.14\site\bin;C:\Perl-5.14\bin;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\INSTAN~1;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\mysql\bin Reading 'C:\cpanfly-5.14\var\cpan\Metadata' Database was generated on Wed, 18 Sep 2013 08:29:02 GMT Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.49.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Access-Perl-0.49.tar.gz ok Perinci-Access-Perl-0.49/ Perinci-Access-Perl-0.49/Changes Perinci-Access-Perl-0.49/LICENSE Perinci-Access-Perl-0.49/MANIFEST Perinci-Access-Perl-0.49/lib/ Perinci-Access-Perl-0.49/lib/Perinci/ Perinci-Access-Perl-0.49/lib/Perinci/Access/ Perinci-Access-Perl-0.49/lib/Perinci/Access/Perl.pm Perinci-Access-Perl-0.49/lib/Perinci/Access/Schemeless.pm Perinci-Access-Perl-0.49/MANIFEST.SKIP Perinci-Access-Perl-0.49/README Perinci-Access-Perl-0.49/META.json Perinci-Access-Perl-0.49/dist.ini Perinci-Access-Perl-0.49/t/ Perinci-Access-Perl-0.49/t/schemeless.t Perinci-Access-Perl-0.49/t/release-rinci.t Perinci-Access-Perl-0.49/t/perl.t Perinci-Access-Perl-0.49/t/release-pod-coverage.t Perinci-Access-Perl-0.49/t/00-compile.t Perinci-Access-Perl-0.49/t/release-pod-syntax.t Perinci-Access-Perl-0.49/Build.PL Perinci-Access-Perl-0.49/META.yml CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Perl-0.49.tar.gz >>> C:\Perl-5.14\bin\perl.exe Build.PL Checking prerequisites... requires: ! Perinci::Sub::Wrapper (0.15) is installed, but we need version >= 0.45 ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Perinci-Access-Perl' version '0.49' ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Access-Perl-0.49.tar.gz ---- Perinci::Sub::Wrapper [requires] Running Build test Delayed until after prerequisites Running test for module 'Perinci::Sub::Wrapper' Running make for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Sub-Wrapper-0.45.tar.gz ok Perinci-Sub-Wrapper-0.45/ Perinci-Sub-Wrapper-0.45/Changes Perinci-Sub-Wrapper-0.45/LICENSE Perinci-Sub-Wrapper-0.45/MANIFEST Perinci-Sub-Wrapper-0.45/lib/ Perinci-Sub-Wrapper-0.45/lib/Test/ Perinci-Sub-Wrapper-0.45/lib/Test/Perinci/ Perinci-Sub-Wrapper-0.45/lib/Test/Perinci/Sub/ Perinci-Sub-Wrapper-0.45/lib/Test/Perinci/Sub/Wrapper.pm Perinci-Sub-Wrapper-0.45/lib/Perinci/ Perinci-Sub-Wrapper-0.45/lib/Perinci/Sub/ Perinci-Sub-Wrapper-0.45/lib/Perinci/Sub/Wrapper.pm Perinci-Sub-Wrapper-0.45/MANIFEST.SKIP Perinci-Sub-Wrapper-0.45/README Perinci-Sub-Wrapper-0.45/META.json Perinci-Sub-Wrapper-0.45/dist.ini Perinci-Sub-Wrapper-0.45/t/ Perinci-Sub-Wrapper-0.45/t/prop-args.t Perinci-Sub-Wrapper-0.45/t/release-rinci.t Perinci-Sub-Wrapper-0.45/t/opt-allow_unknown_args.t Perinci-Sub-Wrapper-0.45/t/01-basics.t Perinci-Sub-Wrapper-0.45/t/opt-validate_args.t Perinci-Sub-Wrapper-0.45/t/release-pod-coverage.t Perinci-Sub-Wrapper-0.45/t/opt-remove_internal_properties.t Perinci-Sub-Wrapper-0.45/t/opt-validate_result.t Perinci-Sub-Wrapper-0.45/t/opt-allow_invalid_args.t Perinci-Sub-Wrapper-0.45/t/00-compile.t Perinci-Sub-Wrapper-0.45/t/prop-deps.t Perinci-Sub-Wrapper-0.45/t/prop-result.t Perinci-Sub-Wrapper-0.45/t/wrap_all_subs.t Perinci-Sub-Wrapper-0.45/t/prop-features.t Perinci-Sub-Wrapper-0.45/t/opt-skip.t Perinci-Sub-Wrapper-0.45/t/release-pod-syntax.t Perinci-Sub-Wrapper-0.45/weaver.ini Perinci-Sub-Wrapper-0.45/Build.PL Perinci-Sub-Wrapper-0.45/META.yml CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz >>> C:\Perl-5.14\bin\perl.exe Build.PL Checking prerequisites... requires: ! Data::Sah is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Perinci-Sub-Wrapper' version '0.45' ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz ---- Data::Sah [requires] Running Build test Delayed until after prerequisites Running test for module 'Data::Sah' Running make for S/SH/SHARYANTO/Data-Sah-0.18.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Data-Sah-0.18.tar.gz ok Data-Sah-0.18/ Data-Sah-0.18/README Data-Sah-0.18/lib/ Data-Sah-0.18/lib/Data/ Data-Sah-0.18/lib/Data/Sah/ Data-Sah-0.18/lib/Data/Sah/Lang/ Data-Sah-0.18/lib/Data/Sah/Lang/zh_CN.pm Data-Sah-0.18/lib/Data/Sah/Lang/fr_FR.pm Data-Sah-0.18/lib/Data/Sah/Lang/id_ID.pm Data-Sah-0.18/lib/Data/Sah/Type/ Data-Sah-0.18/lib/Data/Sah/Type/undef.pm Data-Sah-0.18/lib/Data/Sah/Type/hash.pm Data-Sah-0.18/lib/Data/Sah/Type/re.pm Data-Sah-0.18/lib/Data/Sah/Type/any.pm Data-Sah-0.18/lib/Data/Sah/Type/code.pm Data-Sah-0.18/lib/Data/Sah/Type/bool.pm Data-Sah-0.18/lib/Data/Sah/Type/all.pm Data-Sah-0.18/lib/Data/Sah/Type/num.pm Data-Sah-0.18/lib/Data/Sah/Type/Comparable.pm Data-Sah-0.18/lib/Data/Sah/Type/array.pm Data-Sah-0.18/lib/Data/Sah/Type/Sortable.pm Data-Sah-0.18/lib/Data/Sah/Type/BaseType.pm Data-Sah-0.18/lib/Data/Sah/Type/str.pm Data-Sah-0.18/lib/Data/Sah/Type/obj.pm Data-Sah-0.18/lib/Data/Sah/Type/buf.pm Data-Sah-0.18/lib/Data/Sah/Type/HasElems.pm Data-Sah-0.18/lib/Data/Sah/Type/float.pm Data-Sah-0.18/lib/Data/Sah/Type/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler.pm Data-Sah-0.18/lib/Data/Sah/Manual/ Data-Sah-0.18/lib/Data/Sah/Manual/Extending.pod Data-Sah-0.18/lib/Data/Sah/Schema/ Data-Sah-0.18/lib/Data/Sah/Schema/Common.pm Data-Sah-0.18/lib/Data/Sah/Schema/sah.pm Data-Sah-0.18/lib/Data/Sah/Util/ Data-Sah-0.18/lib/Data/Sah/Util/Role.pm Data-Sah-0.18/lib/Data/Sah/Util/Func.pm Data-Sah-0.18/lib/Data/Sah/Util/TypeX.pm Data-Sah-0.18/lib/Data/Sah/Compiler/ Data-Sah-0.18/lib/Data/Sah/Compiler/human/ Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/hash.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/re.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/code.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/bool.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/num.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/Comparable.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/array.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/Sortable.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/str.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/obj.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/HasElems.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/float.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/ Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/hash.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/re.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/code.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/bool.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/num.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/array.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/str.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/obj.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/float.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/ Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/ Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/hash.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/re.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/code.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/bool.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/num.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/array.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/str.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/obj.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/float.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/TextResultRole.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js.pm Data-Sah-0.18/lib/Data/Sah/Lang.pm Data-Sah-0.18/lib/Data/Sah.pm Data-Sah-0.18/Makefile.PL Data-Sah-0.18/MANIFEST.SKIP Data-Sah-0.18/Changes Data-Sah-0.18/dist.ini Data-Sah-0.18/LICENSE Data-Sah-0.18/t/ Data-Sah-0.18/t/00-compile.t Data-Sah-0.18/t/01-basics.t Data-Sah-0.18/t/testlib.pl Data-Sah-0.18/t/perl-type-re.t Data-Sah-0.18/t/spectest-perl.t Data-Sah-0.18/t/human-id_ID.t Data-Sah-0.18/t/release-pod-coverage.t Data-Sah-0.18/t/spectest-js.t Data-Sah-0.18/t/human-en_US.t Data-Sah-0.18/t/perl-type-obj.t Data-Sah-0.18/t/release-pod-syntax.t Data-Sah-0.18/t/perl-type-code.t Data-Sah-0.18/t/spectest-human.t- Data-Sah-0.18/t/perl-type-str.t Data-Sah-0.18/t/perl-type-float.t Data-Sah-0.18/t/release-rinci.t Data-Sah-0.18/t/perl-type-bool.t Data-Sah-0.18/MANIFEST Data-Sah-0.18/META.json Data-Sah-0.18/META.yml Data-Sah-0.18/devscripts/ Data-Sah-0.18/devscripts/list-missing-translations CPAN.pm: Building S/SH/SHARYANTO/Data-Sah-0.18.tar.gz >>> C:\Perl-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Data::Sah Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Data/Sah/Compiler.pm blib\lib\Data\Sah\Compiler.pm cp lib/Data/Sah/Compiler/Prog.pm blib\lib\Data\Sah\Compiler\Prog.pm cp lib/Data/Sah/Compiler/human/TH/array.pm blib\lib\Data\Sah\Compiler\human\TH\array.pm cp lib/Data/Sah/Compiler/human/TH/any.pm blib\lib\Data\Sah\Compiler\human\TH\any.pm cp lib/Data/Sah/Compiler/human/TH/Sortable.pm blib\lib\Data\Sah\Compiler\human\TH\Sortable.pm cp lib/Data/Sah/Compiler/TextResultRole.pm blib\lib\Data\Sah\Compiler\TextResultRole.pm cp lib/Data/Sah/Compiler/human/TH/all.pm blib\lib\Data\Sah\Compiler\human\TH\all.pm cp lib/Data/Sah/Compiler/Prog/TH.pm blib\lib\Data\Sah\Compiler\Prog\TH.pm cp lib/Data/Sah/Compiler/human.pm blib\lib\Data\Sah\Compiler\human.pm cp lib/Data/Sah/Compiler/human/TH/HasElems.pm blib\lib\Data\Sah\Compiler\human\TH\HasElems.pm cp lib/Data/Sah.pm blib\lib\Data\Sah.pm cp lib/Data/Sah/Compiler/TH.pm blib\lib\Data\Sah\Compiler\TH.pm cp lib/Data/Sah/Compiler/human/TH/Comparable.pm blib\lib\Data\Sah\Compiler\human\TH\Comparable.pm cp lib/Data/Sah/Compiler/human/TH.pm blib\lib\Data\Sah\Compiler\human\TH.pm cp lib/Data/Sah/Compiler/Prog/TH/all.pm blib\lib\Data\Sah\Compiler\Prog\TH\all.pm cp lib/Data/Sah/Compiler/Prog/TH/any.pm blib\lib\Data\Sah\Compiler\Prog\TH\any.pm cp lib/Data/Sah/Compiler/human/TH/num.pm blib\lib\Data\Sah\Compiler\human\TH\num.pm cp lib/Data/Sah/Compiler/js/TH/bool.pm blib\lib\Data\Sah\Compiler\js\TH\bool.pm cp lib/Data/Sah/Compiler/js/TH.pm blib\lib\Data\Sah\Compiler\js\TH.pm cp lib/Data/Sah/Compiler/human/TH/re.pm blib\lib\Data\Sah\Compiler\human\TH\re.pm cp lib/Data/Sah/Compiler/human/TH/hash.pm blib\lib\Data\Sah\Compiler\human\TH\hash.pm cp lib/Data/Sah/Compiler/js/TH/array.pm blib\lib\Data\Sah\Compiler\js\TH\array.pm cp lib/Data/Sah/Compiler/human/TH/int.pm blib\lib\Data\Sah\Compiler\human\TH\int.pm cp lib/Data/Sah/Compiler/human/TH/bool.pm blib\lib\Data\Sah\Compiler\human\TH\bool.pm cp lib/Data/Sah/Compiler/js/TH/any.pm blib\lib\Data\Sah\Compiler\js\TH\any.pm cp lib/Data/Sah/Compiler/js/TH/all.pm blib\lib\Data\Sah\Compiler\js\TH\all.pm cp lib/Data/Sah/Compiler/human/TH/obj.pm blib\lib\Data\Sah\Compiler\human\TH\obj.pm cp lib/Data/Sah/Compiler/js/TH/code.pm blib\lib\Data\Sah\Compiler\js\TH\code.pm cp lib/Data/Sah/Compiler/human/TH/float.pm blib\lib\Data\Sah\Compiler\human\TH\float.pm cp lib/Data/Sah/Compiler/human/TH/str.pm blib\lib\Data\Sah\Compiler\human\TH\str.pm cp lib/Data/Sah/Compiler/human/TH/code.pm blib\lib\Data\Sah\Compiler\human\TH\code.pm cp lib/Data/Sah/Compiler/js.pm blib\lib\Data\Sah\Compiler\js.pm cp lib/Data/Sah/Compiler/perl/TH/bool.pm blib\lib\Data\Sah\Compiler\perl\TH\bool.pm cp lib/Data/Sah/Compiler/perl/TH/all.pm blib\lib\Data\Sah\Compiler\perl\TH\all.pm cp lib/Data/Sah/Compiler/js/TH/float.pm blib\lib\Data\Sah\Compiler\js\TH\float.pm cp lib/Data/Sah/Compiler/js/TH/str.pm blib\lib\Data\Sah\Compiler\js\TH\str.pm cp lib/Data/Sah/Compiler/js/TH/re.pm blib\lib\Data\Sah\Compiler\js\TH\re.pm cp lib/Data/Sah/Compiler/perl/TH/array.pm blib\lib\Data\Sah\Compiler\perl\TH\array.pm cp lib/Data/Sah/Compiler/js/TH/num.pm blib\lib\Data\Sah\Compiler\js\TH\num.pm cp lib/Data/Sah/Compiler/perl/TH/code.pm blib\lib\Data\Sah\Compiler\perl\TH\code.pm cp lib/Data/Sah/Compiler/perl/TH/float.pm blib\lib\Data\Sah\Compiler\perl\TH\float.pm cp lib/Data/Sah/Compiler/perl.pm blib\lib\Data\Sah\Compiler\perl.pm cp lib/Data/Sah/Compiler/perl/TH.pm blib\lib\Data\Sah\Compiler\perl\TH.pm cp lib/Data/Sah/Compiler/perl/TH/any.pm blib\lib\Data\Sah\Compiler\perl\TH\any.pm cp lib/Data/Sah/Compiler/js/TH/obj.pm blib\lib\Data\Sah\Compiler\js\TH\obj.pm cp lib/Data/Sah/Compiler/js/TH/hash.pm blib\lib\Data\Sah\Compiler\js\TH\hash.pm cp lib/Data/Sah/Compiler/js/TH/int.pm blib\lib\Data\Sah\Compiler\js\TH\int.pm cp lib/Data/Sah/Compiler/perl/TH/hash.pm blib\lib\Data\Sah\Compiler\perl\TH\hash.pm cp lib/Data/Sah/Schema/sah.pm blib\lib\Data\Sah\Schema\sah.pm cp lib/Data/Sah/Type/array.pm blib\lib\Data\Sah\Type\array.pm cp lib/Data/Sah/Manual/Extending.pod blib\lib\Data\Sah\Manual\Extending.pod cp lib/Data/Sah/Type/Sortable.pm blib\lib\Data\Sah\Type\Sortable.pm cp lib/Data/Sah/Lang/id_ID.pm blib\lib\Data\Sah\Lang\id_ID.pm cp lib/Data/Sah/Lang/zh_CN.pm blib\lib\Data\Sah\Lang\zh_CN.pm cp lib/Data/Sah/Compiler/perl/TH/obj.pm blib\lib\Data\Sah\Compiler\perl\TH\obj.pm cp lib/Data/Sah/Type/any.pm blib\lib\Data\Sah\Type\any.pm cp lib/Data/Sah/Compiler/perl/TH/int.pm blib\lib\Data\Sah\Compiler\perl\TH\int.pm cp lib/Data/Sah/Compiler/perl/TH/str.pm blib\lib\Data\Sah\Compiler\perl\TH\str.pm cp lib/Data/Sah/Type/all.pm blib\lib\Data\Sah\Type\all.pm cp lib/Data/Sah/Compiler/perl/TH/num.pm blib\lib\Data\Sah\Compiler\perl\TH\num.pm cp lib/Data/Sah/Compiler/perl/TH/re.pm blib\lib\Data\Sah\Compiler\perl\TH\re.pm cp lib/Data/Sah/Type/BaseType.pm blib\lib\Data\Sah\Type\BaseType.pm cp lib/Data/Sah/Schema/Common.pm blib\lib\Data\Sah\Schema\Common.pm cp lib/Data/Sah/Lang/fr_FR.pm blib\lib\Data\Sah\Lang\fr_FR.pm cp lib/Data/Sah/Lang.pm blib\lib\Data\Sah\Lang.pm cp lib/Data/Sah/Type/Comparable.pm blib\lib\Data\Sah\Type\Comparable.pm cp lib/Data/Sah/Type/HasElems.pm blib\lib\Data\Sah\Type\HasElems.pm cp lib/Data/Sah/Type/hash.pm blib\lib\Data\Sah\Type\hash.pm cp lib/Data/Sah/Type/re.pm blib\lib\Data\Sah\Type\re.pm cp lib/Data/Sah/Type/str.pm blib\lib\Data\Sah\Type\str.pm cp lib/Data/Sah/Type/float.pm blib\lib\Data\Sah\Type\float.pm cp lib/Data/Sah/Type/bool.pm blib\lib\Data\Sah\Type\bool.pm cp lib/Data/Sah/Util/Role.pm blib\lib\Data\Sah\Util\Role.pm cp lib/Data/Sah/Type/buf.pm blib\lib\Data\Sah\Type\buf.pm cp lib/Data/Sah/Type/undef.pm blib\lib\Data\Sah\Type\undef.pm cp lib/Data/Sah/Util/Func.pm blib\lib\Data\Sah\Util\Func.pm cp lib/Data/Sah/Type/int.pm blib\lib\Data\Sah\Type\int.pm cp lib/Data/Sah/Type/obj.pm blib\lib\Data\Sah\Type\obj.pm cp lib/Data/Sah/Type/code.pm blib\lib\Data\Sah\Type\code.pm cp lib/Data/Sah/Type/num.pm blib\lib\Data\Sah\Type\num.pm cp lib/Data/Sah/Util/TypeX.pm blib\lib\Data\Sah\Util\TypeX.pm SHARYANTO/Data-Sah-0.18.tar.gz nmake -- OK Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ 1..80 ok 1 - Data::Sah loaded ok ok 2 - Data::Sah::Compiler loaded ok ok 3 - Data::Sah::Compiler::Prog loaded ok ok 4 - Data::Sah::Compiler::Prog::TH loaded ok ok 5 - Data::Sah::Compiler::Prog::TH::all loaded ok ok 6 - Data::Sah::Compiler::Prog::TH::any loaded ok ok 7 - Data::Sah::Compiler::TH loaded ok ok 8 - Data::Sah::Compiler::TextResultRole loaded ok ok 9 - Data::Sah::Compiler::human loaded ok ok 10 - Data::Sah::Compiler::human::TH loaded ok ok 11 - Data::Sah::Compiler::human::TH::Comparable loaded ok ok 12 - Data::Sah::Compiler::human::TH::HasElems loaded ok ok 13 - Data::Sah::Compiler::human::TH::Sortable loaded ok ok 14 - Data::Sah::Compiler::human::TH::all loaded ok ok 15 - Data::Sah::Compiler::human::TH::any loaded ok ok 16 - Data::Sah::Compiler::human::TH::array loaded ok ok 17 - Data::Sah::Compiler::human::TH::bool loaded ok ok 18 - Data::Sah::Compiler::human::TH::code loaded ok ok 19 - Data::Sah::Compiler::human::TH::float loaded ok ok 20 - Data::Sah::Compiler::human::TH::hash loaded ok ok 21 - Data::Sah::Compiler::human::TH::int loaded ok ok 22 - Data::Sah::Compiler::human::TH::num loaded ok ok 23 - Data::Sah::Compiler::human::TH::obj loaded ok ok 24 - Data::Sah::Compiler::human::TH::re loaded ok ok 25 - Data::Sah::Compiler::human::TH::str loaded ok ok 26 - Data::Sah::Compiler::js loaded ok ok 27 - Data::Sah::Compiler::js::TH loaded ok ok 28 - Data::Sah::Compiler::js::TH::all loaded ok ok 29 - Data::Sah::Compiler::js::TH::any loaded ok ok 30 - Data::Sah::Compiler::js::TH::array loaded ok ok 31 - Data::Sah::Compiler::js::TH::bool loaded ok ok 32 - Data::Sah::Compiler::js::TH::code loaded ok ok 33 - Data::Sah::Compiler::js::TH::float loaded ok ok 34 - Data::Sah::Compiler::js::TH::hash loaded ok ok 35 - Data::Sah::Compiler::js::TH::int loaded ok ok 36 - Data::Sah::Compiler::js::TH::num loaded ok ok 37 - Data::Sah::Compiler::js::TH::obj loaded ok ok 38 - Data::Sah::Compiler::js::TH::re loaded ok ok 39 - Data::Sah::Compiler::js::TH::str loaded ok ok 40 - Data::Sah::Compiler::perl loaded ok ok 41 - Data::Sah::Compiler::perl::TH loaded ok ok 42 - Data::Sah::Compiler::perl::TH::all loaded ok ok 43 - Data::Sah::Compiler::perl::TH::any loaded ok ok 44 - Data::Sah::Compiler::perl::TH::array loaded ok ok 45 - Data::Sah::Compiler::perl::TH::bool loaded ok ok 46 - Data::Sah::Compiler::perl::TH::code loaded ok ok 47 - Data::Sah::Compiler::perl::TH::float loaded ok ok 48 - Data::Sah::Compiler::perl::TH::hash loaded ok ok 49 - Data::Sah::Compiler::perl::TH::int loaded ok ok 50 - Data::Sah::Compiler::perl::TH::num loaded ok ok 51 - Data::Sah::Compiler::perl::TH::obj loaded ok ok 52 - Data::Sah::Compiler::perl::TH::re loaded ok ok 53 - Data::Sah::Compiler::perl::TH::str loaded ok ok 54 - Data::Sah::Lang loaded ok ok 55 - Data::Sah::Lang::fr_FR loaded ok ok 56 - Data::Sah::Lang::id_ID loaded ok ok 57 - Data::Sah::Lang::zh_CN loaded ok ok 58 - Data::Sah::Schema::Common loaded ok ok 59 - Data::Sah::Schema::sah loaded ok ok 60 - Data::Sah::Type::BaseType loaded ok ok 61 - Data::Sah::Type::Comparable loaded ok ok 62 - Data::Sah::Type::HasElems loaded ok ok 63 - Data::Sah::Type::Sortable loaded ok ok 64 - Data::Sah::Type::all loaded ok ok 65 - Data::Sah::Type::any loaded ok ok 66 - Data::Sah::Type::array loaded ok ok 67 - Data::Sah::Type::bool loaded ok ok 68 - Data::Sah::Type::buf loaded ok ok 69 - Data::Sah::Type::code loaded ok ok 70 - Data::Sah::Type::float loaded ok ok 71 - Data::Sah::Type::hash loaded ok ok 72 - Data::Sah::Type::int loaded ok ok 73 - Data::Sah::Type::num loaded ok ok 74 - Data::Sah::Type::obj loaded ok ok 75 - Data::Sah::Type::re loaded ok ok 76 - Data::Sah::Type::str loaded ok ok 77 - Data::Sah::Type::undef loaded ok ok 78 - Data::Sah::Util::Func loaded ok ok 79 - Data::Sah::Util::Role loaded ok ok 80 - Data::Sah::Util::TypeX loaded ok ok t/01-basics.t ............. ok 1 - die (default) ok 2 - warn ok 3 - ignore 1..3 ok 1 - on_unhandled_clause option ok 1 - die (default) ok 2 - warn ok 3 - ignore 1..3 ok 2 - on_unhandled_attr option ok 1 ok 2 - skip_clause in gen_validator() 1 ok 3 - skip_clause in gen_validator() 2 ok 4 - skip_clause in gen_validator() 3 1..4 ok 3 - skip_clause option 1..3 ok 1 - compile() 1..1 ok t/human-en_US.t ........... ok 1 - result 1..1 ok 1 - integer ok 1 - result 1..1 ok 2 - integer ok 1 - result 1..1 ok 3 - integer, must be at least 1 ok 1 - result 1..1 ok 4 - integer, must be at least 1, must be at most 10 ok 1 - result 1..1 ok 5 - integer, must be divisible by 2 and 5 ok 1 - result 1..1 ok 6 - integer, must be divisible by all of [2,3,5] ok 1 - result 1..1 ok 7 - integer, must be divisible by 2 or 5 ok 1 - result 1..1 ok 8 - integer, must be divisible by one of [2,3,5] ok 1 - result 1..1 ok 9 - integer, must not be divisible by 5 ok 1 - result 1..1 ok 10 - array of integers ok 1 - result 1..1 ok 11 - (?^x:array .+ each\sarray\selement\smust\sbe: .+ # integer .+ at\sleast\s1) ok 1 - result 1..1 ok 12 - array, 1st element must be: integer ok 1 - result 1..1 ok 13 - (?^x:must\sbe\sall\sof\sthe\sfollowing: .+ # integer.+even .+ # integer.+divisible\sby\s5 .+ # ) ok 1 - result 1..1 ok 14 - hash, field f must be: decimal number, field i must be: (integer, must be at least 0) 1..14 ok t/human-id_ID.t ........... ok 1 - result 1..1 ok 1 - bilangan bulat ok 1 - result 1..1 ok 2 - larik, elemen ke-1 harus: bilangan bulat 1..2 ok t/perl-type-bool.t ........ ok 1 ok 2 ok 3 1..3 ok t/perl-type-code.t ........ ok 1 ok 2 1..2 ok # Failed test 'NaN vs ["float", "is_inf", 1]' # at t/perl-type-float.t line 38. # Failed test 'NaN vs ["float", "is_pos_inf", 1]' # at t/perl-type-float.t line 38. # Failed test '-Inf vs ["float", "is_pos_inf", 1]' # at t/perl-type-float.t line 38. # Failed test 'NaN vs ["float", "is_neg_inf", 1]' # at t/perl-type-float.t line 38. # Failed test 'Inf vs ["float", "is_neg_inf", 1]' # at t/perl-type-float.t line 38. # Looks like you failed 5 tests of 15. t/perl-type-float.t ....... ok 1 - 1 vs ["float", "is_nan", 1] ok 2 - Inf vs ["float", "is_nan", 1] ok 3 - NaN vs ["float", "is_nan", 1] ok 4 - 1 vs ["float", "is_inf", 1] not ok 5 - NaN vs ["float", "is_inf", 1] ok 6 - -Inf vs ["float", "is_inf", 1] ok 7 - Inf vs ["float", "is_inf", 1] ok 8 - 1 vs ["float", "is_pos_inf", 1] not ok 9 - NaN vs ["float", "is_pos_inf", 1] not ok 10 - -Inf vs ["float", "is_pos_inf", 1] ok 11 - Inf vs ["float", "is_pos_inf", 1] ok 12 - 1 vs ["float", "is_neg_inf", 1] not ok 13 - NaN vs ["float", "is_neg_inf", 1] ok 14 - -Inf vs ["float", "is_neg_inf", 1] not ok 15 - Inf vs ["float", "is_neg_inf", 1] 1..15 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/15 subtests t/perl-type-obj.t ......... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 1..11 ok t/perl-type-re.t .......... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok t/perl-type-str.t ......... ok 1 ok 2 1..2 ok t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing t/release-rinci.t ......... skipped: these tests are for release candidate testing t/spectest-js.t ........... skipped: node.js is not available # Loading 10-type-all.json ... # Loading 10-type-any.json ... # Loading 10-type-array.json ... # Loading 10-type-bool.json ... # Loading 10-type-float.json ... # Loading 10-type-hash.json ... # Loading 10-type-int.json ... # Loading 10-type-str.json ... t/spectest-perl.t ......... ok 1 - dies 1..1 ok 1 - schema must be defined ok 1 - dies 1..1 ok 2 - string: type name must not be blank ok 1 - result ok 2 - doesn't die 1..2 ok 3 - string: type name must be valid (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 4 - string: type name must be valid (ok, has namespace) ok 1 - dies 1..1 ok 5 - string: type name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 6 - string: type name must be valid (fail, starts with number) ok 1 - result ok 2 - doesn't die 1..2 ok 7 - string: * suffix is allowed and normalized to req clause ok 1 - dies 1..1 ok 8 - string: multiple * suffix is not allowed ok 1 - dies 1..1 ok 9 - array: must not be empty ok 1 - result ok 2 - doesn't die 1..2 ok 10 - array: type name must be valid (ok) ok 1 - dies 1..1 ok 11 - array: type name must be valid (fail, has whitespace) ok 1 - result ok 2 - doesn't die 1..2 ok 12 - array: * suffix is allowed and normalized to req clause ok 1 - result ok 2 - doesn't die 1..2 ok 13 - array: clause set must be hash (ok, empty) ok 1 - result ok 2 - doesn't die 1..2 ok 14 - array: clause set must be hash (ok, has some clauses) ok 1 - dies 1..1 ok 15 - array: clause set must be hash (fail, string) ok 1 - dies 1..1 ok 16 - array: clause set must be hash (fail, array) ok 1 - dies 1..1 ok 17 - array: clause name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 18 - array: clause name must be valid (fail, starts with number) ok 1 - result ok 2 - doesn't die 1..2 ok 19 - array: * suffix is allowed and normalized to req clause (2-element-array schema) ok 1 - result ok 2 - doesn't die 1..2 ok 20 - array: * suffix is allowed and normalized to req clause (overrides existing req clause) ok 1 - result ok 2 - doesn't die 1..2 ok 21 - array: clause attribute name must be valid (ok) ok 1 - dies 1..1 ok 22 - array: clause attribute name must be valid (fail, has whitespace) ok 1 - result ok 2 - doesn't die 1..2 ok 23 - array: setting attribute on clause "" is permitted ok 1 - dies 1..1 ok 24 - array: setting value attribute on clause "" using syntax "" is not permitted ok 1 - result ok 2 - doesn't die 1..2 ok 25 - array: flattened clause set is permitted ok 1 - result ok 2 - doesn't die 1..2 ok 26 - array: flattened clause set is permitted (with * suffix) ok 1 - dies 1..1 ok 27 - array: flattened clause set is permitted (fail, odd number of elements) ok 1 - result ok 2 - doesn't die 1..2 ok 28 - array: expression (clause=) is allowed on clause and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 29 - array: expression (clause=) is allowed on clause.attr and normalized ok 1 - dies 1..1 ok 30 - array: expression (clause=) must not conflict with literal value (fail) ok 1 - dies 1..1 ok 31 - array: expression (clause.attr=) must not conflict with literal value (fail) ok 1 - result ok 2 - doesn't die 1..2 ok 32 - array: !clause is normalized ok 1 - dies 1..1 ok 33 - array: !clause.attr is not allowed ok 1 - result ok 2 - doesn't die 1..2 ok 34 - array: clause| is normalized ok 1 - dies 1..1 ok 35 - array: clause.attr| is not allowed ok 1 - dies 1..1 ok 36 - array: clause| value must be array (fail, not array) ok 1 - result ok 2 - doesn't die 1..2 ok 37 - array: clause& is normalized ok 1 - dies 1..1 ok 38 - array: clause.attr& is not allowed ok 1 - dies 1..1 ok 39 - array: clause& value must be array (fail, not array) ok 1 - dies 1..1 ok 40 - array: !clause cannot be mixed with merge prefix ok 1 - dies 1..1 ok 41 - array: !clause cannot be mixed with expression ok 1 - dies 1..1 ok 42 - array: clause| cannot be mixed with merge prefix ok 1 - dies 1..1 ok 43 - array: clause| cannot be mixed with expression ok 1 - dies 1..1 ok 44 - array: clause& cannot be mixed with merge prefix ok 1 - dies 1..1 ok 45 - array: clause& cannot be mixed with expression ok 1 - dies 1..1 ok 46 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c) ok 1 - dies 1..1 ok 47 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c|) ok 1 - dies 1..1 ok 48 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c&) ok 1 - dies 1..1 ok 49 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c|) ok 1 - dies 1..1 ok 50 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c&) ok 1 - dies 1..1 ok 51 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c| & c&) ok 1 - result ok 2 - doesn't die 1..2 ok 52 - array: merge prefix in clause is allowed ok 1 - result ok 2 - doesn't die 1..2 ok 53 - array: clause(LANG) shortcut is allowed and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 54 - array: clause.attr(LANG) shortcut is allowed and normalized ok 1 - dies 1..1 ok 55 - array: clause(LANG) shortcut must not conflict with existing attribute ok 1 - dies 1..1 ok 56 - array: invalid clause(LANG) shortcut is not allowed (1) ok 1 - dies 1..1 ok 57 - array: invalid clause(LANG) shortcut is not allowed (2) ok 1 - result ok 2 - doesn't die 1..2 ok 58 - array: extras must be hash (ok) ok 1 - dies 1..1 ok 59 - array: extras must be hash (fail, not hash) ok 1 - result ok 2 - doesn't die 1..2 ok 60 - array: def in extras must be hash (ok) ok 1 - dies 1..1 ok 61 - array: def in extras must be hash (fail) ok 1 - dies 1..1 ok 62 - array: extra elements are not permitted ok 1 - dies 1..1 ok 63 - hash form (old DS syntax) is no longer recognized 1..63 ok 1 - 00-normalize_schema.json ok 1 - result ok 2 - doesn't die 1..2 ok 1 - no clause sets results in nothing done ok 1 - result ok 2 - doesn't die 1..2 ok 2 - a single clause set results in nothing done ok 1 - result ok 2 - doesn't die 1..2 ok 3 - no merge prefixes results in appending clause sets ok 1 - result ok 2 - doesn't die 1..2 ok 4 - normal mode merging replaces clauses on the left ok 1 - result ok 2 - doesn't die 1..2 ok 5 - additive mode merging adds values (array) ok 1 - result ok 2 - doesn't die 1..2 ok 6 - concative mode merging concatenates values (string) ok 1 - result ok 2 - doesn't die 1..2 ok 7 - subtractive mode merging concatenates values (int) ok 1 - result ok 2 - doesn't die 1..2 ok 8 - delete mode merging deletes values ok 1 - result ok 2 - doesn't die 1..2 ok 9 - keep mode prevents overriding of values 1..9 ok 2 - 01-merge_clause_sets.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 3, # 'name' => 'of (nok + nok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - of (nok + nok) # { # 'input' => 2, # 'name' => 'of (ok + nok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - of (ok + nok) # { # 'input' => 5, # 'name' => 'of (nok + ok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - of (nok + ok) # { # 'input' => 10, # 'name' => 'of (ok + ok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - of (ok + ok) 1..4 ok 3 - 10-type-all.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 3, # 'name' => 'of (nok + nok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - of (nok + nok) # { # 'input' => 2, # 'name' => 'of (ok + nok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - of (ok + nok) # { # 'input' => 5, # 'name' => 'of (nok + ok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - of (nok + ok) # { # 'input' => 10, # 'name' => 'of (ok + ok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - of (ok + ok) 1..4 ok 4 - 10-type-any.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => [], # 'name' => 'type check: must accept []', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept [] # { # 'input' => [ # '1', # 'a' # ], # 'name' => 'type check: must accept [1, "a"]', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept [1, "a"] # { # 'input' => [ # [] # ], # 'name' => 'type check: must accept [[]]', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept [[]] # { # 'input' => 1, # 'name' => 'type check: must reject 1', # 'schema' => 'array', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject 1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'array', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject a # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'array', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'array', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'array', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=1 must reject undefined value # { # 'input' => [ # 1 # ], # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'array', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - forbidden=0 must accept defined value # { # 'input' => [ # 1 # ], # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'array', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default []', # 'schema' => [ # 'array*', # 'default', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - default: must accept valid default [] # { # 'input' => undef, # 'name' => 'default: must reject invalid default a', # 'schema' => [ # 'array*', # 'default', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must reject invalid default a # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'array*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 14 - clause (dies, unknown clause) # { # 'input' => [ # 1 # ], # 'name' => 'clause (ok)', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clause (ok) # { # 'input' => [ # 1 # ], # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 0 # ], # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'clause (nok)', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (nok) # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'array*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 18 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'array*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown attr) # { # 'input' => [ # 1 # ], # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'array*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - clset (empty = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'array*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (ignored clause/attr = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ok + ok = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'array*', # 'clset', # { # 'min_len' => 0 # }, # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok) + clause nok = nok # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 0 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + nok = nok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (nok + ok = nok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + nok = nok) # { # 'input' => [], # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'array', # 'is', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - .err_level=error (clause=is, ok) # { # 'input' => [ # 0 # ], # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'array', # 'is', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=is, nok) # { # 'input' => [], # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'array', # 'is', # [], # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=warn (clause=is, ok) # { # 'input' => [ # 0 # ], # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'array*', # 'is', # [], # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=is, nok) # { # 'input' => [ # 1 # ], # 'name' => 'is: must accept same value', # 'schema' => [ # 'array', # 'is', # [ # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is: must accept same value # { # 'input' => [ # 1 # ], # 'name' => 'is: must reject different value', # 'schema' => [ # 'array', # 'is', # [ # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must reject different value # { # 'input' => [ # 1 # ], # 'name' => '!is (nok)', # 'schema' => [ # 'array', # '!is', # [ # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - !is (nok) # { # 'input' => [ # 1 # ], # 'name' => '!is (ok)', # 'schema' => [ # 'array', # '!is', # [ # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'array', # 'is', # [ # 1 # ], # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=not (nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'array', # 'is', # [ # 2 # ], # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is& (no items)', # 'schema' => [ # 'array', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is& (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is& (ok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 1 # ], # [ # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 2 # ], # [ # 1 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 2 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=and (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (no items)', # 'schema' => [ # 'array', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is| (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is| (ok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 1 # ], # [ # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 2 # ], # [ # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 2 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is.op=or (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=none (empty items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'array', # 'in', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in: must accept valid choices # { # 'input' => [ # 1 # ], # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'array', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must reject empty choices # { # 'input' => [ # 1 # ], # 'name' => '!in (nok)', # 'schema' => [ # 'array', # '!in', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - !in (nok) # { # 'input' => [ # 1 # ], # 'name' => '!in (ok)', # 'schema' => [ # 'array', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=not (nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in& (no items)', # 'schema' => [ # 'array', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in& (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in& (ok)', # 'schema' => [ # 'array', # 'in&', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'array', # 'in&', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'array', # 'in&', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'array', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=and (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (no items)', # 'schema' => [ # 'array', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in| (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in| (ok)', # 'schema' => [ # 'array', # 'in|', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'array', # 'in|', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'array', # 'in|', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'array', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in.op=or (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=none (empty items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'len (ok)', # 'schema' => [ # 'array', # 'len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - len (ok) # { # 'input' => [ # 1 # ], # 'name' => 'len (nok)', # 'schema' => [ # 'array', # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'min_len (ok)', # 'schema' => [ # 'array', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min_len (ok) # { # 'input' => [ # 1 # ], # 'name' => 'min_len (nok)', # 'schema' => [ # 'array', # 'min_len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min_len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'max_len (ok)', # 'schema' => [ # 'array', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - max_len (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'max_len (nok)', # 'schema' => [ # 'array', # 'max_len', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - max_len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'len_between (ok)', # 'schema' => [ # 'array', # 'len_between', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - len_between (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'len_between (nok)', # 'schema' => [ # 'array', # 'len_between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - len_between (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_index (ok)', # 'schema' => [ # 'array', # 'each_index', # [ # 'int', # 'max', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - each_index (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_index (nok)', # 'schema' => [ # 'array', # 'each_index', # [ # 'int', # 'xmax', # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - each_index (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_elem (ok)', # 'schema' => [ # 'array', # 'each_elem', # 'float' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - each_elem (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_elem (nok)', # 'schema' => [ # 'array', # 'each_elem', # 'int' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - each_elem (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'elems (ok)', # 'schema' => [ # 'array', # 'elems', # [ # 'int', # 'float' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - elems (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'elems (nok)', # 'schema' => [ # 'array', # 'elems', # [ # 'int', # 'int' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - elems (nok) # { # 'input' => [ # undef, # 1 # ], # 'name' => 'elems (nok, first elem required)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - elems (nok, first elem required) # { # 'input' => [ # 1 # ], # 'name' => 'elems (ok, missing elem set to undef)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - elems (ok, missing elem set to undef) # { # 'input' => [ # 1, # undef # ], # 'name' => 'elems (ok, second elem optional)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - elems (ok, second elem optional) # { # 'input' => [ # 1, # '1.1' # ], # 'name' => 'elems (ok 2)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - elems (ok 2) # { # 'input' => [ # 1, # '1.1', # undef # ], # 'name' => 'elems (ok, extra elems ignored)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - elems (ok, extra elems ignored) # { # 'input' => [ # 1, # '1.1', # 'foo' # ], # 'name' => 'elems (ok, extra elems ignored 2)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - elems (ok, extra elems ignored 2) # { # 'input' => [ # 1 # ], # 'name' => 'elems (ok, create_default=0)', # 'output' => [ # 1 # ], # 'schema' => [ # 'array', # { # 'elems' => [ # 'int', # [ # 'int', # 'default', # 2 # ] # ], # 'elems.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 113 - elems (ok, create_default=0) # { # 'input' => [ # 1, # undef # ], # 'name' => 'elems (ok 2, create_default=0)', # 'output' => [ # 1, # 2 # ], # 'schema' => [ # 'array', # { # 'elems' => [ # 'int', # [ # 'int', # 'default', # 2 # ] # ], # 'elems.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 114 - elems (ok 2, create_default=0) 1..114 ok 5 - 10-type-array.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'bool', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'bool', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept 1 # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'bool', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'bool', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'bool', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'bool', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'bool', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - req=1 must reject undefined value # { # 'input' => 1, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'bool', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - forbidden=0 must accept defined value # { # 'input' => 1, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'bool', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1', # 'schema' => [ # 'bool*', # 'default', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - default: must accept valid default 1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'bool*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'bool*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 12 - clause (dies, unknown clause) # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'bool*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 13 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'bool*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 14 - clset (dies, unknown attr) # { # 'input' => 1, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'bool*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clset (empty = ok) # { # 'input' => 1, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'bool*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clset (ignored clause/attr = ok) # { # 'input' => 1, # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - .err_level=error (clause=is, ok) # { # 'input' => 0, # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - .err_level=error (clause=is, nok) # { # 'input' => 1, # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'bool', # 'is', # 1, # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 19 - .err_level=warn (clause=is, ok) # { # 'input' => 0, # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'bool*', # 'is', # 1, # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - .err_level=warn (clause=is, nok) # { # 'input' => 0, # 'name' => 'is: must accept same value', # 'schema' => [ # 'bool', # 'is', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - is: must accept same value # { # 'input' => 0, # 'name' => 'is: must reject different value', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - is: must reject different value # { # 'input' => 0, # 'name' => '!is (nok)', # 'schema' => [ # 'bool', # '!is', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - !is (nok) # { # 'input' => 0, # 'name' => '!is (ok)', # 'schema' => [ # 'bool', # '!is', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - !is (ok) # { # 'input' => 0, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'bool', # 'is', # 0, # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - is.op=not (nok) # { # 'input' => 0, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'bool', # 'is', # 1, # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - is.op=not (ok) # { # 'input' => 0, # 'name' => 'is& (no items)', # 'schema' => [ # 'bool', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - is& (no items) # { # 'input' => 0, # 'name' => 'is& (ok)', # 'schema' => [ # 'bool', # 'is&', # [ # 0, # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - is& (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'bool', # 'is&', # [ # 1, # 0 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - is& (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'bool', # 'is&', # [ # 0, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - is& (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'bool', # 'is&', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is& (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is.op=and (no items) # { # 'input' => 0, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - is.op=and (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=and (nok + nok) # { # 'input' => 0, # 'name' => 'is| (no items)', # 'schema' => [ # 'bool', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is| (no items) # { # 'input' => 0, # 'name' => 'is| (ok)', # 'schema' => [ # 'bool', # 'is|', # [ # 0, # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is| (ok) # { # 'input' => 0, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'bool', # 'is|', # [ # 1, # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is| (nok + ok) # { # 'input' => 0, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'bool', # 'is|', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is| (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'bool', # 'is|', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is| (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=or (no items) # { # 'input' => 0, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=or (ok) # { # 'input' => 0, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=or (nok + ok) # { # 'input' => 0, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=or (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is.op=none (empty items) # { # 'input' => 0, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is.op=none (ok + ok) # { # 'input' => 0, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'bool', # 'in', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - in: must accept valid choices # { # 'input' => 0, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'bool', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - in: must reject empty choices # { # 'input' => 0, # 'name' => '!in (nok)', # 'schema' => [ # 'bool', # '!in', # [ # 0, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - !in (nok) # { # 'input' => 0, # 'name' => '!in (ok)', # 'schema' => [ # 'bool', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - !in (ok) # { # 'input' => 0, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'bool', # 'in', # [ # 0, # 1 # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - in.op=not (nok) # { # 'input' => 0, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - in.op=not (ok) # { # 'input' => 0, # 'name' => 'in& (no items)', # 'schema' => [ # 'bool', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - in& (no items) # { # 'input' => 0, # 'name' => 'in& (ok)', # 'schema' => [ # 'bool', # 'in&', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - in& (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'bool', # 'in&', # [ # [], # [ # 0, # 1 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - in& (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'bool', # 'in&', # [ # [ # 0, # 1 # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - in& (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'bool', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in& (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in.op=and (no items) # { # 'input' => 0, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - in.op=and (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=and (nok + nok) # { # 'input' => 0, # 'name' => 'in| (no items)', # 'schema' => [ # 'bool', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in| (no items) # { # 'input' => 0, # 'name' => 'in| (ok)', # 'schema' => [ # 'bool', # 'in|', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in| (ok) # { # 'input' => 0, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'bool', # 'in|', # [ # [], # [ # 0, # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in| (nok + ok) # { # 'input' => 0, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'bool', # 'in|', # [ # [ # 0, # 1 # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in| (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'bool', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in| (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=or (no items) # { # 'input' => 0, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=or (ok) # { # 'input' => 0, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=or (nok + ok) # { # 'input' => 0, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=or (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in.op=none (empty items) # { # 'input' => 0, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in.op=none (ok + ok) # { # 'input' => 1, # 'name' => 'min: 1 0', # 'schema' => [ # 'bool', # 'min', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - min: 1 0 # { # 'input' => 1, # 'name' => 'min: 1 1', # 'schema' => [ # 'bool', # 'min', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - min: 1 1 # { # 'input' => 0, # 'name' => 'min: 0 1 -> fail', # 'schema' => [ # 'bool', # 'min', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - min: 0 1 -> fail # { # 'input' => 1, # 'name' => 'xmin: 1 0', # 'schema' => [ # 'bool', # 'xmin', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - xmin: 1 0 # { # 'input' => 1, # 'name' => 'xmin: 1 1 -> fail', # 'schema' => [ # 'bool', # 'xmin', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - xmin: 1 1 -> fail # { # 'input' => 0, # 'name' => 'xmin: 0 1 -> fail', # 'schema' => [ # 'bool', # 'xmin', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - xmin: 0 1 -> fail # { # 'input' => 1, # 'name' => 'max: 1 0 -> fail', # 'schema' => [ # 'bool', # 'max', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - max: 1 0 -> fail # { # 'input' => 1, # 'name' => 'max: 1 1', # 'schema' => [ # 'bool', # 'max', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - max: 1 1 # { # 'input' => 0, # 'name' => 'max: 0 1', # 'schema' => [ # 'bool', # 'max', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - max: 0 1 # { # 'input' => 1, # 'name' => 'xmax: 1 0 -> fail', # 'schema' => [ # 'bool', # 'xmax', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - xmax: 1 0 -> fail # { # 'input' => 1, # 'name' => 'xmax: 1 1 -> fail', # 'schema' => [ # 'bool', # 'xmax', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - xmax: 1 1 -> fail # { # 'input' => 0, # 'name' => 'xmax: 0 1', # 'schema' => [ # 'bool', # 'xmax', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - xmax: 0 1 # { # 'input' => 1, # 'name' => 'between: 1 0 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - between: 1 0 & 1 # { # 'input' => 1, # 'name' => 'between: 1 0 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - between: 1 0 & 1 # { # 'input' => 1, # 'name' => 'between: 1 1 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 1, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - between: 1 1 & 1 # { # 'input' => 0, # 'name' => 'between: 0 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - between: 0 1 & 1 -> fail # { # 'input' => '1', # 'name' => 'xbetween: 1 0 & 1', # 'schema' => [ # 'bool', # 'xbetween', # [ # 0, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - xbetween: 1 0 & 1 # { # 'input' => '1', # 'name' => 'xbetween: 1 0 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # 0, # '1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - xbetween: 1 0 & 1 -> fail # { # 'input' => '1', # 'name' => 'xbetween: 1 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # '1', # '1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - xbetween: 1 1 & 1 -> fail # { # 'input' => 0, # 'name' => 'xbetween: 0 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # '1', # '1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - xbetween: 0 1 & 1 -> fail # { # 'input' => 1, # 'name' => 'is_true: 1 (ok)', # 'schema' => [ # 'bool', # 'is_true', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - is_true: 1 (ok) # { # 'input' => 0, # 'name' => 'is_true: 1 (nok)', # 'schema' => [ # 'bool', # 'is_true', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - is_true: 1 (nok) # { # 'input' => 0, # 'name' => 'is_true: 0 (ok)', # 'schema' => [ # 'bool', # 'is_true', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - is_true: 0 (ok) # { # 'input' => 1, # 'name' => 'is_true: 0 (nok)', # 'schema' => [ # 'bool', # 'is_true', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - is_true: 0 (nok) # { # 'input' => 0, # 'name' => 'is_true: undef (ok 1)', # 'schema' => [ # 'bool', # 'is_true', # undef # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - is_true: undef (ok 1) # { # 'input' => 1, # 'name' => 'is_true: undef (ok 2)', # 'schema' => [ # 'bool', # 'is_true', # undef # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - is_true: undef (ok 2) 1..108 ok 6 - 10-type-bool.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => '-1.1', # 'name' => 'type check: must accept -1.1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept -1.1 # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must accept 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'float', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'float', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'float', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'float', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'float', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - req=1 must reject undefined value # { # 'input' => '1.1', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'float', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - forbidden=0 must accept defined value # { # 'input' => '1.1', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'float', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1.1', # 'schema' => [ # 'float*', # 'default', # '1.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 14 - default: must accept valid default 1.1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'float*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'float*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 16 - clause (dies, unknown clause) # { # 'input' => '1.1', # 'name' => 'clause (ok)', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (ok) # { # 'input' => '1.1', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 1 # ], # 'max', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'clause (nok)', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 19 - clause (nok) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'float*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 20 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'float*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 21 - clset (dies, unknown attr) # { # 'input' => '1.1', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'float*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (empty = ok) # { # 'input' => '1.1', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'float*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ignored clause/attr = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => '1.1', # 'min' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + ok = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'float*', # 'clset', # { # 'min' => 1 # }, # 'max', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (ok) + clause nok = nok # { # 'input' => '1.1', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => 1, # 'min' => 1 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (ok + nok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => '1.1', # 'min' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - clset (nok + ok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => 1, # 'min' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - clset (nok + nok = nok) # { # 'input' => '0.1', # 'name' => '.err_level=error (clause=min, ok)', # 'schema' => [ # 'float', # 'min', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=error (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=error (clause=min, nok)', # 'schema' => [ # 'float', # 'min', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=error (clause=min, nok) # { # 'input' => '0.1', # 'name' => '.err_level=warn (clause=min, ok)', # 'schema' => [ # 'float', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - .err_level=warn (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=warn (clause=min, nok)', # 'schema' => [ # 'float*', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - .err_level=warn (clause=min, nok) # { # 'input' => '1.1', # 'name' => 'is: must accept same value', # 'schema' => [ # 'float', # 'is', # '1.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - is: must accept same value # { # 'input' => '1.1', # 'name' => 'is: must reject different value', # 'schema' => [ # 'float', # 'is', # '1.2' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - is: must reject different value # { # 'input' => '1.1', # 'name' => '!is (nok)', # 'schema' => [ # 'float', # '!is', # '1.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - !is (nok) # { # 'input' => '1.1', # 'name' => '!is (ok)', # 'schema' => [ # 'float', # '!is', # '1.2' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - !is (ok) # { # 'input' => '1.1', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'float', # 'is', # '1.1', # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is.op=not (nok) # { # 'input' => '1.1', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'float', # 'is', # '1.2', # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is.op=not (ok) # { # 'input' => '1.1', # 'name' => 'is& (no items)', # 'schema' => [ # 'float', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (no items) # { # 'input' => '1.1', # 'name' => 'is& (ok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.1', # '1.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.2', # '1.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.2', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is& (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (no items) # { # 'input' => '1.1', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'is| (no items)', # 'schema' => [ # 'float', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (no items) # { # 'input' => '1.1', # 'name' => 'is| (ok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.1', # '1.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok) # { # 'input' => '1.1', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.2', # '1.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + ok) # { # 'input' => '1.1', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.2', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is| (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (no items) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - is.op=none (ok + ok) # { # 'input' => '1.1', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'float', # 'in', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - in: must accept valid choices # { # 'input' => '1.1', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'float', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - in: must reject empty choices # { # 'input' => '1.1', # 'name' => '!in (nok)', # 'schema' => [ # 'float', # '!in', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - !in (nok) # { # 'input' => '1.1', # 'name' => '!in (ok)', # 'schema' => [ # 'float', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - !in (ok) # { # 'input' => '1.1', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'float', # 'in', # [ # '1.1', # '1.2' # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in.op=not (nok) # { # 'input' => '1.1', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in.op=not (ok) # { # 'input' => '1.1', # 'name' => 'in& (no items)', # 'schema' => [ # 'float', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (no items) # { # 'input' => '1.1', # 'name' => 'in& (ok)', # 'schema' => [ # 'float', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'float', # 'in&', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'float', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'float', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in& (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (no items) # { # 'input' => '1.1', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'in| (no items)', # 'schema' => [ # 'float', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (no items) # { # 'input' => '1.1', # 'name' => 'in| (ok)', # 'schema' => [ # 'float', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok) # { # 'input' => '1.1', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'float', # 'in|', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + ok) # { # 'input' => '1.1', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'float', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'float', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in| (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (no items) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - in.op=none (ok + ok) # { # 'input' => '2.1', # 'name' => 'min: 2.1 -3.1', # 'schema' => [ # 'float', # 'min', # '-3.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'min: 2.1 2.1', # 'schema' => [ # 'float', # 'min', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'min: -3.1 2.1 -> fail', # 'schema' => [ # 'float', # 'min', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - min: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 -3.1', # 'schema' => [ # 'float', # 'xmin', # '-3.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - xmin: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmin', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - xmin: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmin: -3.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmin', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - xmin: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 -3.1 -> fail', # 'schema' => [ # 'float', # 'max', # '-3.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - max: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 2.1', # 'schema' => [ # 'float', # 'max', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - max: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'max: -3.1 2.1', # 'schema' => [ # 'float', # 'max', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - max: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 -3.1 -> fail', # 'schema' => [ # 'float', # 'xmax', # '-3.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - xmax: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmax', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - xmax: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmax: -3.1 2.1', # 'schema' => [ # 'float', # 'xmax', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - xmax: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 4.1', # 'schema' => [ # 'float', # 'between', # [ # '-3.1', # '4.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - between: 2.1 -3.1 & 4.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 2.1', # 'schema' => [ # 'float', # 'between', # [ # '-3.1', # '2.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - between: 2.1 -3.1 & 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 2.1 & 2.1', # 'schema' => [ # 'float', # 'between', # [ # '2.1', # '2.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - between: 2.1 2.1 & 2.1 # { # 'input' => '-3.1', # 'name' => 'between: -3.1 2.1 & 4.1 -> fail', # 'schema' => [ # 'float', # 'between', # [ # '2.1', # '4.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - between: -3.1 2.1 & 4.1 -> fail # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 -3.1 & 4.1', # 'schema' => [ # 'float', # 'xbetween', # [ # '-3.1', # '4.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - xbetween: 2.1 -3.1 & 4.1 # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 -3.1 & 2.1 -> fail', # 'schema' => [ # 'float', # 'xbetween', # [ # '-3.1', # '2.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - xbetween: 2.1 -3.1 & 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 2.1 & 2.1 -> fail', # 'schema' => [ # 'float', # 'xbetween', # [ # '2.1', # '2.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - xbetween: 2.1 2.1 & 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xbetween: -3.1 2.1 & 4.1 -> fail', # 'schema' => [ # 'float', # 'xbetween', # [ # '2.1', # '4.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - xbetween: -3.1 2.1 & 4.1 -> fail 1..114 ok 7 - 10-type-float.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => {}, # 'name' => 'type check: must accept {}', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept {} # { # 'input' => { # 'a' => '1' # }, # 'name' => 'type check: must accept { a => 1 }', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept { a => 1 } # { # 'input' => { # '' => [] # }, # 'name' => 'type check: must accept { "" => [] }', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept { "" => [] } # { # 'input' => 1, # 'name' => 'type check: must reject 1', # 'schema' => 'hash', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject 1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'hash', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'hash', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject [] # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'hash', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'hash', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=1 must reject undefined value # { # 'input' => { # 'a' => 1 # }, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'hash', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - forbidden=0 must accept defined value # { # 'input' => { # 'a' => 1 # }, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'hash', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default {}', # 'schema' => [ # 'hash*', # 'default', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - default: must accept valid default {} # { # 'input' => undef, # 'name' => 'default: must reject invalid default a', # 'schema' => [ # 'hash*', # 'default', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must reject invalid default a # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 14 - clause (dies, unknown clause) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (ok)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clause (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 1 # ], # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (nok)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (nok) # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'hash*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 18 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'hash*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown attr) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'hash*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - clset (empty = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'hash*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (ignored clause/attr = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ok + ok = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'hash*', # 'clset', # { # 'min_len' => 1 # }, # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok) + clause nok = nok # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 1 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + nok = nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (nok + ok = nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + nok = nok) # { # 'input' => { # 'a' => 0 # }, # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - .err_level=error (clause=is, ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=is, nok) # { # 'input' => { # 'a' => 0 # }, # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # }, # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=warn (clause=is, ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'hash*', # 'is', # { # 'a' => 0 # }, # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=is, nok) # { # 'input' => {}, # 'name' => 'is: must accept same value', # 'schema' => [ # 'hash', # 'is', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is: must accept same value # { # 'input' => {}, # 'name' => 'is: must reject different value', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 1 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must reject different value # { # 'input' => {}, # 'name' => '!is (nok)', # 'schema' => [ # 'hash', # '!is', # {} # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - !is (nok) # { # 'input' => {}, # 'name' => '!is (ok)', # 'schema' => [ # 'hash', # '!is', # { # 'a' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (ok) # { # 'input' => {}, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'hash', # 'is', # {}, # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=not (nok) # { # 'input' => {}, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 1 # }, # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (ok) # { # 'input' => {}, # 'name' => 'is& (no items)', # 'schema' => [ # 'hash', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is& (no items) # { # 'input' => {}, # 'name' => 'is& (ok)', # 'schema' => [ # 'hash', # 'is&', # [ # {}, # {} # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'hash', # 'is&', # [ # { # 'a' => 1 # }, # {} # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'hash', # 'is&', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'hash', # 'is&', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=and (no items) # { # 'input' => {}, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + nok) # { # 'input' => {}, # 'name' => 'is| (no items)', # 'schema' => [ # 'hash', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is| (no items) # { # 'input' => {}, # 'name' => 'is| (ok)', # 'schema' => [ # 'hash', # 'is|', # [ # {}, # {} # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (ok) # { # 'input' => {}, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'hash', # 'is|', # [ # { # 'a' => 1 # }, # {} # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (nok + ok) # { # 'input' => {}, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'hash', # 'is|', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'hash', # 'is|', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is.op=or (no items) # { # 'input' => {}, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (ok) # { # 'input' => {}, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (nok + ok) # { # 'input' => {}, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=none (empty items) # { # 'input' => {}, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + ok) # { # 'input' => {}, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'hash', # 'in', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in: must accept valid choices # { # 'input' => {}, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'hash', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must reject empty choices # { # 'input' => {}, # 'name' => '!in (nok)', # 'schema' => [ # 'hash', # '!in', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - !in (nok) # { # 'input' => {}, # 'name' => '!in (ok)', # 'schema' => [ # 'hash', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (ok) # { # 'input' => {}, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'hash', # 'in', # [ # {}, # { # 'a' => 1 # } # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=not (nok) # { # 'input' => {}, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (ok) # { # 'input' => {}, # 'name' => 'in& (no items)', # 'schema' => [ # 'hash', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in& (no items) # { # 'input' => {}, # 'name' => 'in& (ok)', # 'schema' => [ # 'hash', # 'in&', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'hash', # 'in&', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'hash', # 'in&', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'hash', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=and (no items) # { # 'input' => {}, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + nok) # { # 'input' => {}, # 'name' => 'in| (no items)', # 'schema' => [ # 'hash', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in| (no items) # { # 'input' => {}, # 'name' => 'in| (ok)', # 'schema' => [ # 'hash', # 'in|', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (ok) # { # 'input' => {}, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'hash', # 'in|', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (nok + ok) # { # 'input' => {}, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'hash', # 'in|', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'hash', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in.op=or (no items) # { # 'input' => {}, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (ok) # { # 'input' => {}, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (nok + ok) # { # 'input' => {}, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=none (empty items) # { # 'input' => {}, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len (ok)', # 'schema' => [ # 'hash', # 'len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - len (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len (nok)', # 'schema' => [ # 'hash', # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'min_len (ok)', # 'schema' => [ # 'hash', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min_len (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'min_len (nok)', # 'schema' => [ # 'hash', # 'min_len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min_len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'max_len (ok)', # 'schema' => [ # 'hash', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - max_len (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'max_len (nok)', # 'schema' => [ # 'hash', # 'max_len', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - max_len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len_between (ok)', # 'schema' => [ # 'hash', # 'len_between', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - len_between (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'len_between (nok)', # 'schema' => [ # 'hash', # 'len_between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - len_between (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_index (ok)', # 'schema' => [ # 'hash', # 'each_index', # [ # 'str', # 'len', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - each_index (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_index (nok)', # 'schema' => [ # 'hash', # 'each_index', # [ # 'str', # 'len', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - each_index (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_elem (ok)', # 'schema' => [ # 'hash', # 'each_elem', # 'float' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - each_elem (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_elem (nok)', # 'schema' => [ # 'hash', # 'each_elem', # 'int' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - each_elem (nok) # { # 'input' => {}, # 'name' => 'keys: (ok, empty)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - keys: (ok, empty) # { # 'input' => { # 'a' => undef # }, # 'name' => 'keys: (ok, only a, a valid 1)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - keys: (ok, only a, a valid 1) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'keys: (ok, only a, a valid 2)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - keys: (ok, only a, a valid 2) # { # 'input' => { # 'a' => '1.1' # }, # 'name' => 'keys: (nok, only a, a invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - keys: (nok, only a, a invalid) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'keys: (ok, only a, valid 2)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - keys: (ok, only a, valid 2) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'keys: (ok, a & b, valid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - keys: (ok, a & b, valid) # { # 'input' => { # 'a' => 1, # 'b' => undef # }, # 'name' => 'keys: (nok, a & b, b invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - keys: (nok, a & b, b invalid) # { # 'input' => { # 'a' => '1.1', # 'b' => '1.1' # }, # 'name' => 'keys: (nok, a & b, a invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - keys: (nok, a & b, a invalid) # { # 'input' => { # 'a' => '1.1', # 'b' => undef # }, # 'name' => 'keys: (nok, a & b, a & b invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - keys: (nok, a & b, a & b invalid) # { # 'input' => { # 'a' => 1, # 'b' => '1.1', # 'c' => 1 # }, # 'name' => 'keys: (nok, extra)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - keys: (nok, extra) # { # 'input' => { # 'a' => 1, # 'b' => '1.1', # 'c' => 1 # }, # 'name' => 'keys: (ok, extra, restrict=0)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 115 - keys: (ok, extra, restrict=0) # { # 'input' => {}, # 'name' => 'keys (create_default=1) 1', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 116 - keys (create_default=1) 1 # { # 'input' => { # 'b' => undef # }, # 'name' => 'keys (create_default=1) 2', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 117 - keys (create_default=1) 2 # { # 'input' => {}, # 'name' => 'keys (create_default=0) 1', # 'output' => {}, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # }, # 'keys.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 118 - keys (create_default=0) 1 # { # 'input' => { # 'b' => undef # }, # 'name' => 'keys (create_default=0) 2', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # }, # 'keys.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 119 - keys (create_default=0) 2 1..119 ok 8 - 10-type-hash.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must reject 1.1', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'int', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'int', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - req=1 must reject undefined value # { # 'input' => 2, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'int', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=0 must accept defined value # { # 'input' => 2, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'int', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1', # 'schema' => [ # 'int*', # 'default', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must accept valid default 1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'int*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 14 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'int*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 15 - clause (dies, unknown clause) # { # 'input' => 2, # 'name' => 'clause (ok)', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) # { # 'input' => 2, # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 1 # ], # 'xmax', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 2, # 'name' => 'clause (nok)', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 3 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - clause (nok) # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'int*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'int*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 20 - clset (dies, unknown attr) # { # 'input' => 2, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'int*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (empty = ok) # { # 'input' => 2, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'int*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ignored clause/attr = ok) # { # 'input' => 2, # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'int*', # 'clset', # { # 'max' => 2, # 'min' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok + ok = ok) # { # 'input' => 2, # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 1 # }, # 'xmax', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok) + clause nok = nok # { # 'input' => 2, # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 1, # 'xmax' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (ok + nok = nok) # { # 'input' => 2, # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'max' => 2, # 'min' => 3 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + ok = nok) # { # 'input' => 2, # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 3, # 'xmax' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - clset (nok + nok = nok) # { # 'input' => 9, # 'name' => '.err_level=error (clause=div_by, ok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=div_by, ok) # { # 'input' => 8, # 'name' => '.err_level=error (clause=div_by, nok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=error (clause=div_by, nok) # { # 'input' => 9, # 'name' => '.err_level=warn (clause=div_by, ok)', # 'schema' => [ # 'int', # 'div_by', # 3, # 'div_by.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=div_by, ok) # { # 'input' => 8, # 'name' => '.err_level=warn (clause=div_by, nok)', # 'schema' => [ # 'int*', # 'div_by', # 3, # 'div_by.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - .err_level=warn (clause=div_by, nok) # { # 'input' => 1, # 'name' => 'is: must accept same value', # 'schema' => [ # 'int', # 'is', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must accept same value # { # 'input' => 1, # 'name' => 'is: must reject different value', # 'schema' => [ # 'int', # 'is', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - is: must reject different value # { # 'input' => 1, # 'name' => '!is (nok)', # 'schema' => [ # 'int', # '!is', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (nok) # { # 'input' => 1, # 'name' => '!is (ok)', # 'schema' => [ # 'int', # '!is', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - !is (ok) # { # 'input' => 1, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'int', # 'is', # 1, # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (nok) # { # 'input' => 1, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'int', # 'is', # 2, # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is.op=not (ok) # { # 'input' => 1, # 'name' => 'is& (no items)', # 'schema' => [ # 'int', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (no items) # { # 'input' => 1, # 'name' => 'is& (ok)', # 'schema' => [ # 'int', # 'is&', # [ # 1, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'int', # 'is&', # [ # 2, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'int', # 'is&', # [ # 1, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'int', # 'is&', # [ # 2, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is& (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (no items) # { # 'input' => 1, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is.op=and (nok + nok) # { # 'input' => 1, # 'name' => 'is| (no items)', # 'schema' => [ # 'int', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (no items) # { # 'input' => 1, # 'name' => 'is| (ok)', # 'schema' => [ # 'int', # 'is|', # [ # 1, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (ok) # { # 'input' => 1, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'int', # 'is|', # [ # 2, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (nok + ok) # { # 'input' => 1, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'int', # 'is|', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'int', # 'is|', # [ # 2, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is| (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (no items) # { # 'input' => 1, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (ok) # { # 'input' => 1, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (nok + ok) # { # 'input' => 1, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=or (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (empty items) # { # 'input' => 1, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - is.op=none (ok + ok) # { # 'input' => 1, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'int', # 'in', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must accept valid choices # { # 'input' => 1, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'int', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - in: must reject empty choices # { # 'input' => 1, # 'name' => '!in (nok)', # 'schema' => [ # 'int', # '!in', # [ # 1, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (nok) # { # 'input' => 1, # 'name' => '!in (ok)', # 'schema' => [ # 'int', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - !in (ok) # { # 'input' => 1, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'int', # 'in', # [ # 1, # 2 # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (nok) # { # 'input' => 1, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in.op=not (ok) # { # 'input' => 1, # 'name' => 'in& (no items)', # 'schema' => [ # 'int', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (no items) # { # 'input' => 1, # 'name' => 'in& (ok)', # 'schema' => [ # 'int', # 'in&', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'int', # 'in&', # [ # [], # [ # 1, # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'int', # 'in&', # [ # [ # 1, # 2 # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'int', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in& (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (no items) # { # 'input' => 1, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in.op=and (nok + nok) # { # 'input' => 1, # 'name' => 'in| (no items)', # 'schema' => [ # 'int', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (no items) # { # 'input' => 1, # 'name' => 'in| (ok)', # 'schema' => [ # 'int', # 'in|', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (ok) # { # 'input' => 1, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'int', # 'in|', # [ # [], # [ # 1, # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (nok + ok) # { # 'input' => 1, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'int', # 'in|', # [ # [ # 1, # 2 # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'int', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in| (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (no items) # { # 'input' => 1, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (ok) # { # 'input' => 1, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (nok + ok) # { # 'input' => 1, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=or (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (empty items) # { # 'input' => 1, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - in.op=none (ok + ok) # { # 'input' => 2, # 'name' => 'min: 2 -3', # 'schema' => [ # 'int', # 'min', # -3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - min: 2 -3 # { # 'input' => 2, # 'name' => 'min: 2 2', # 'schema' => [ # 'int', # 'min', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min: 2 2 # { # 'input' => -3, # 'name' => 'min: -3 2 -> fail', # 'schema' => [ # 'int', # 'min', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min: -3 2 -> fail # { # 'input' => 2, # 'name' => 'xmin: 2 -3', # 'schema' => [ # 'int', # 'xmin', # -3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - xmin: 2 -3 # { # 'input' => 2, # 'name' => 'xmin: 2 2 -> fail', # 'schema' => [ # 'int', # 'xmin', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - xmin: 2 2 -> fail # { # 'input' => -3, # 'name' => 'xmin: -3 2 -> fail', # 'schema' => [ # 'int', # 'xmin', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - xmin: -3 2 -> fail # { # 'input' => 2, # 'name' => 'max: 2 -3 -> fail', # 'schema' => [ # 'int', # 'max', # -3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - max: 2 -3 -> fail # { # 'input' => 2, # 'name' => 'max: 2 2', # 'schema' => [ # 'int', # 'max', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - max: 2 2 # { # 'input' => -3, # 'name' => 'max: -3 2', # 'schema' => [ # 'int', # 'max', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - max: -3 2 # { # 'input' => 2, # 'name' => 'xmax: 2 -3 -> fail', # 'schema' => [ # 'int', # 'xmax', # -3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - xmax: 2 -3 -> fail # { # 'input' => 2, # 'name' => 'xmax: 2 2 -> fail', # 'schema' => [ # 'int', # 'xmax', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - xmax: 2 2 -> fail # { # 'input' => -3, # 'name' => 'xmax: -3 2', # 'schema' => [ # 'int', # 'xmax', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - xmax: -3 2 # { # 'input' => 2, # 'name' => 'between: 2 -3 & 4', # 'schema' => [ # 'int', # 'between', # [ # -3, # 4 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - between: 2 -3 & 4 # { # 'input' => 2, # 'name' => 'between: 2 -3 & 2', # 'schema' => [ # 'int', # 'between', # [ # -3, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - between: 2 -3 & 2 # { # 'input' => 2, # 'name' => 'between: 2 2 & 2', # 'schema' => [ # 'int', # 'between', # [ # 2, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - between: 2 2 & 2 # { # 'input' => -3, # 'name' => 'between: -3 2 & 4 -> fail', # 'schema' => [ # 'int', # 'between', # [ # 2, # 4 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - between: -3 2 & 4 -> fail # { # 'input' => '2', # 'name' => 'xbetween: 2 -3 & 4', # 'schema' => [ # 'int', # 'xbetween', # [ # -3, # 4 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - xbetween: 2 -3 & 4 # { # 'input' => '2', # 'name' => 'xbetween: 2 -3 & 2 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # -3, # '2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - xbetween: 2 -3 & 2 -> fail # { # 'input' => '2', # 'name' => 'xbetween: 2 2 & 2 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # '2', # '2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - xbetween: 2 2 & 2 -> fail # { # 'input' => -3, # 'name' => 'xbetween: -3 2 & 4 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # '2', # '4' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - xbetween: -3 2 & 4 -> fail # { # 'input' => 10, # 'name' => 'mod: (nok)', # 'schema' => [ # 'int', # 'mod', # [ # 3, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - mod: (nok) # { # 'input' => 11, # 'name' => 'mod: (ok)', # 'schema' => [ # 'int', # 'mod', # [ # 3, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 115 - mod: (ok) # { # 'input' => 7, # 'name' => 'div_by: (nok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - div_by: (nok) # { # 'input' => 6, # 'name' => 'div_by: (ok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 117 - div_by: (ok) 1..117 ok 9 - 10-type-int.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept 0 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept 1.1 # { # 'input' => '', # 'name' => 'type check: must accept ', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept # { # 'input' => 'str # ', # 'name' => 'type check: must accept str # ', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must accept str # # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'str', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'str', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'str', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'str', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=1 must reject undefined value # { # 'input' => 'a', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'str', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - forbidden=0 must accept defined value # { # 'input' => 'a', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'str', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default a', # 'schema' => [ # 'str*', # 'default', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - default: must accept valid default a # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'str*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'str*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 14 - clause (dies, unknown clause) # { # 'input' => 'a', # 'name' => 'clause (ok)', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clause (ok) # { # 'input' => 'a', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'a' # ], # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'clause (nok)', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'str*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 18 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'str*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown attr) # { # 'input' => 'a', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'str*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - clset (empty = ok) # { # 'input' => 'a', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'str*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (ignored clause/attr = ok) # { # 'input' => 'a', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 1, # 'match' => 'a' # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ok + ok = ok) # { # 'input' => 'a', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'str*', # 'clset', # { # 'match' => 'a' # }, # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok) + clause nok = nok # { # 'input' => 'a', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 2, # 'match' => 'a' # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + nok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 1, # 'match' => 'b' # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (nok + ok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 2, # 'match' => 'b' # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + nok = nok) # { # 'input' => 'a', # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - .err_level=error (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=is, nok) # { # 'input' => 'a', # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'str', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=warn (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'str*', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=is, nok) # { # 'input' => 'a', # 'name' => 'is: must accept same value', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is: must accept same value # { # 'input' => 'a', # 'name' => 'is: must reject different value', # 'schema' => [ # 'str', # 'is', # 'b' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must reject different value # { # 'input' => 'a', # 'name' => '!is (nok)', # 'schema' => [ # 'str', # '!is', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - !is (nok) # { # 'input' => 'a', # 'name' => '!is (ok)', # 'schema' => [ # 'str', # '!is', # 'b' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (ok) # { # 'input' => 'a', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'str', # 'is', # 'a', # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=not (nok) # { # 'input' => 'a', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'str', # 'is', # 'b', # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (ok) # { # 'input' => 'a', # 'name' => 'is& (no items)', # 'schema' => [ # 'str', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is& (no items) # { # 'input' => 'a', # 'name' => 'is& (ok)', # 'schema' => [ # 'str', # 'is&', # [ # 'a', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'str', # 'is&', # [ # 'b', # 'a' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'str', # 'is&', # [ # 'a', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'str', # 'is&', # [ # 'b', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=and (no items) # { # 'input' => 'a', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'is| (no items)', # 'schema' => [ # 'str', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is| (no items) # { # 'input' => 'a', # 'name' => 'is| (ok)', # 'schema' => [ # 'str', # 'is|', # [ # 'a', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (ok) # { # 'input' => 'a', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'str', # 'is|', # [ # 'b', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (nok + ok) # { # 'input' => 'a', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'str', # 'is|', # [ # 'a', # 'b' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'str', # 'is|', # [ # 'b', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is.op=or (no items) # { # 'input' => 'a', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (ok) # { # 'input' => 'a', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=none (empty items) # { # 'input' => 'a', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'str', # 'in', # [ # 'a', # 'b' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in: must accept valid choices # { # 'input' => 'a', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'str', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must reject empty choices # { # 'input' => 'a', # 'name' => '!in (nok)', # 'schema' => [ # 'str', # '!in', # [ # 'a', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - !in (nok) # { # 'input' => 'a', # 'name' => '!in (ok)', # 'schema' => [ # 'str', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (ok) # { # 'input' => 'a', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'str', # 'in', # [ # 'a', # 'b' # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=not (nok) # { # 'input' => 'a', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (ok) # { # 'input' => 'a', # 'name' => 'in& (no items)', # 'schema' => [ # 'str', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in& (no items) # { # 'input' => 'a', # 'name' => 'in& (ok)', # 'schema' => [ # 'str', # 'in&', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'str', # 'in&', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'str', # 'in&', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'str', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=and (no items) # { # 'input' => 'a', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'in| (no items)', # 'schema' => [ # 'str', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in| (no items) # { # 'input' => 'a', # 'name' => 'in| (ok)', # 'schema' => [ # 'str', # 'in|', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (ok) # { # 'input' => 'a', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'str', # 'in|', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (nok + ok) # { # 'input' => 'a', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'str', # 'in|', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'str', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in.op=or (no items) # { # 'input' => 'a', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (ok) # { # 'input' => 'a', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=none (empty items) # { # 'input' => 'a', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'min: a ', # 'schema' => [ # 'str', # 'min', # '' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - min: a # { # 'input' => 'a', # 'name' => 'min: a a', # 'schema' => [ # 'str', # 'min', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - min: a a # { # 'input' => '', # 'name' => 'min: a -> fail', # 'schema' => [ # 'str', # 'min', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min: a -> fail # { # 'input' => 'a', # 'name' => 'xmin: a ', # 'schema' => [ # 'str', # 'xmin', # '' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - xmin: a # { # 'input' => 'a', # 'name' => 'xmin: a a -> fail', # 'schema' => [ # 'str', # 'xmin', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - xmin: a a -> fail # { # 'input' => '', # 'name' => 'xmin: a -> fail', # 'schema' => [ # 'str', # 'xmin', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - xmin: a -> fail # { # 'input' => 'a', # 'name' => 'max: a -> fail', # 'schema' => [ # 'str', # 'max', # '' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - max: a -> fail # { # 'input' => 'a', # 'name' => 'max: a a', # 'schema' => [ # 'str', # 'max', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - max: a a # { # 'input' => '', # 'name' => 'max: a', # 'schema' => [ # 'str', # 'max', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - max: a # { # 'input' => 'a', # 'name' => 'xmax: a -> fail', # 'schema' => [ # 'str', # 'xmax', # '' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - xmax: a -> fail # { # 'input' => 'a', # 'name' => 'xmax: a a -> fail', # 'schema' => [ # 'str', # 'xmax', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - xmax: a a -> fail # { # 'input' => '', # 'name' => 'xmax: a', # 'schema' => [ # 'str', # 'xmax', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - xmax: a # { # 'input' => 'a', # 'name' => 'between: a & ab', # 'schema' => [ # 'str', # 'between', # [ # '', # 'ab' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - between: a & ab # { # 'input' => 'a', # 'name' => 'between: a & a', # 'schema' => [ # 'str', # 'between', # [ # '', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - between: a & a # { # 'input' => 'a', # 'name' => 'between: a a & a', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - between: a a & a # { # 'input' => '', # 'name' => 'between: a & ab -> fail', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'ab' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - between: a & ab -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a & ab', # 'schema' => [ # 'str', # 'xbetween', # [ # '', # 'ab' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - xbetween: a & ab # { # 'input' => 'a', # 'name' => 'xbetween: a & a -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # '', # 'a' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - xbetween: a & a -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a a & a -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # 'a', # 'a' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - xbetween: a a & a -> fail # { # 'input' => '', # 'name' => 'xbetween: a & ab -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # 'a', # 'ab' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - xbetween: a & ab -> fail # { # 'input' => 'a', # 'name' => 'len (ok)', # 'schema' => [ # 'str', # 'len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - len (ok) # { # 'input' => 'a', # 'name' => 'len (nok)', # 'schema' => [ # 'str', # 'len', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - len (nok) # { # 'input' => 'a', # 'name' => 'min_len (ok)', # 'schema' => [ # 'str', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 115 - min_len (ok) # { # 'input' => 'a', # 'name' => 'min_len (nok)', # 'schema' => [ # 'str', # 'min_len', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - min_len (nok) # { # 'input' => 'a', # 'name' => 'max_len (ok)', # 'schema' => [ # 'str', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 117 - max_len (ok) # { # 'input' => 'abc', # 'name' => 'max_len (nok)', # 'schema' => [ # 'str', # 'max_len', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 118 - max_len (nok) # { # 'input' => 'a', # 'name' => 'len_between (ok)', # 'schema' => [ # 'str', # 'len_between', # [ # 1, # 3 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 119 - len_between (ok) # { # 'input' => 'abc', # 'name' => 'len_between (nok)', # 'schema' => [ # 'str', # 'len_between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 120 - len_between (nok) # { # 'input' => 'abc', # 'name' => 'each_index (ok)', # 'schema' => [ # 'str', # 'each_index', # [ # 'int', # 'max', # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - each_index (ok) # { # 'input' => 'abc', # 'name' => 'each_index (nok)', # 'schema' => [ # 'str', # 'each_index', # [ # 'int', # 'xmax', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 122 - each_index (nok) # { # 'input' => 'abc', # 'name' => 'each_elem (ok)', # 'schema' => [ # 'str', # 'each_elem', # 'str' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - each_elem (ok) # { # 'input' => 'abc', # 'name' => 'each_elem (nok)', # 'schema' => [ # 'str', # 'each_elem', # 'float' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 124 - each_elem (nok) # { # 'input' => 'a', # 'name' => 'match: (ok)', # 'schema' => [ # 'str', # 'match', # '[abc]' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - match: (ok) # { # 'input' => 'z', # 'name' => 'match: (nok)', # 'schema' => [ # 'str', # 'match', # '[abc]' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - match: (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'match: (dies, invalid regex)', # 'schema' => [ # 'str', # 'match', # '(' # ] # } ok 1 - compile error 1..1 ok 127 - match: (dies, invalid regex) # { # 'input' => 'a', # 'name' => 'is_re: 1 (ok)', # 'schema' => [ # 'str', # 'is_re', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 128 - is_re: 1 (ok) # { # 'input' => 'a(', # 'name' => 'is_re: 1 (nok)', # 'schema' => [ # 'str', # 'is_re', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 129 - is_re: 1 (nok) # { # 'input' => 'a(', # 'name' => 'is_re: 0 (ok)', # 'schema' => [ # 'str', # 'is_re', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - is_re: 0 (ok) # { # 'input' => 'a', # 'name' => 'is_re: 0 (nok)', # 'schema' => [ # 'str', # 'is_re', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 131 - is_re: 0 (nok) 1..131 ok 10 - 10-type-str.json 1..10 ok Test Summary Report ------------------- t/perl-type-float.t (Wstat: 1280 Tests: 15 Failed: 5) Failed tests: 5, 9-10, 13, 15 Non-zero exit status: 5 Files=15, Tests=146, 28 wallclock secs ( 0.94 usr + 0.11 sys = 1.05 CPU) Result: FAIL Failed 1/15 test programs. 5/146 subtests failed. NMAKE : fatal error U1077: 'C:\Perl-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Data-Sah-0.18.tar.gz nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Data-Sah-0.18.tar.gz Running Build for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz Warning: Prerequisite 'Data::Sah => 0.14' for 'SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz' failed when processing 'SHARYANTO/Data-Sah-0.18.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> C:\Perl-5.14\bin\perl.exe ./Build Building Perinci-Sub-Wrapper SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz C:\Perl-5.14\bin\perl.exe ./Build -- OK Running Build test >>> C:\Perl-5.14\bin\perl.exe ./Build test verbose=1 t/00-compile.t ...................... ok 1 - Perinci/Sub/Wrapper.pm loaded ok ok 2 - Test/Perinci/Sub/Wrapper.pm loaded ok 1..2 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test 'meta version == 1.0 -> converted to 1.1' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(trap=1, default) call doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(trap=1, default) call dies -> 500' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(trap=0) call dies -> dies' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(result_naked=0) convert result_naked to 1' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 637. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test 'convert default_lang' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 6 tests of 29. t/01-basics.t ....................... not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 1 - meta version == 1.0 -> converted to 1.1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 502 1..3 ok 2 - unsupported conversion -> fail not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 3 - (trap=1, default) call doesn't die not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 4 - (trap=1, default) call dies -> 500 not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 5 - (trap=0) call dies -> dies not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 6 - (result_naked=0) convert result_naked to 1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 7 - (result_naked=1) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta result_naked=0 1..6 ok 8 - (result_naked=1) convert result_naked to 0 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 9 - (args_as=array) convert args_as to arrayref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 10 - (args_as=array) convert args_as to hash ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 11 - (args_as=array) convert args_as to hashref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 12 - (args_as=arrayref) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 13 - (args_as=arrayref) convert args_as to array ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 14 - (args_as=arrayref) convert args_as to hash ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 15 - (args_as=arrayref) convert args_as to hashref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 16 - (args_as=hash) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 17 - (args_as=hash) convert args_as to array ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 18 - (args_as=hash) convert args_as to arrayref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 19 - (args_as=hash) convert args_as to hashref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 20 - (args_as=hashref) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 21 - (args_as=hashref) convert args_as to array ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 22 - (args_as=hashref) convert args_as to arrayref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 23 - (args_as=hashref) convert args_as to hash ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 24 - (args_as=hash, default) greedy, no conversion ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 25 - (args_as=hash) greedy, conversion to array ok 26 - generated wrapper is blessed ok 27 - original input subroutine not blessed ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 28 - double wrapping, no conversion not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 29 - convert default_lang 1..29 Dubious, test returned 6 (wstat 1536, 0x600) Failed 6/29 subtests t/opt-allow_invalid_args.t .......... ok 1 - already tested in prop-args.t 1..1 ok t/opt-allow_unknown_args.t .......... ok 1 - already tested in prop-args.t 1..1 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(remove_internal_properties=1, default)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(remove_internal_properties=0)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 2 tests of 2. t/opt-remove_internal_properties.t .. not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 1 - (remove_internal_properties=1, default) not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 2 - (remove_internal_properties=0) 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests t/opt-skip.t ........................ ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 400 1..3 ok 3 - call \#2: unknown arg 1..3 ok 1 - none (the default) ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: unknown arg not checked 1..3 ok 2 - args 1..2 ok t/opt-validate_args.t ............... ok 1 - already tested in prop-args.t 1..1 ok t/opt-validate_result.t ............. ok 1 - already tested in prop-result.t 1..1 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema req no default' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: validate_args=0' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt via metadata attr: validate_args=0' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: allow_invalid_args=1' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: allow_unknown_args=1' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req with default' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'default supplied even when validate_args=0' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req no default' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'no req arg + schema with default' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'default supplied even when validate_args=0' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 10 tests of 16. t/prop-args.t ....................... ok 1 - wrap dies 1..1 ok 1 - unknown arg spec key -> dies ok 1 - wrap doesn't die 1..1 ok 2 - arg spec key x ok 1 - wrap doesn't die 1..1 ok 3 - arg spec key prefixed by _ is ignored ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 ok 4 - res 1..4 ok 2 - call \#1: 1..2 ok 4 - -wrapper special argument is passed not ok 1 - wrap doesn't die 1..1 not ok 5 - req arg + schema req no default not ok 1 - wrap doesn't die 1..1 not ok 6 - opt: validate_args=0 not ok 1 - wrap doesn't die 1..1 not ok 7 - opt via metadata attr: validate_args=0 not ok 1 - wrap doesn't die 1..1 not ok 8 - opt: allow_invalid_args=1 not ok 1 - wrap doesn't die 1..1 not ok 9 - opt: allow_unknown_args=1 not ok 1 - wrap doesn't die 1..1 not ok 10 - req arg + schema no req with default not ok 1 - wrap doesn't die 1..1 not ok 11 - default supplied even when validate_args=0 not ok 1 - wrap doesn't die 1..1 not ok 12 - req arg + schema no req no default ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 400 1..3 ok 2 - call \#1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: undef arg value 1..3 ok 13 - req arg + no schema ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: undef arg value 1..3 ok 14 - no req arg + schema no req with default not ok 1 - wrap doesn't die 1..1 not ok 15 - no req arg + schema with default not ok 1 - wrap doesn't die 1..1 not ok 16 - default supplied even when validate_args=0 1..16 Dubious, test returned 10 (wstat 2560, 0xa00) Failed 10/16 subtests t/prop-deps.t ....................... ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 412 1..6 ok 1 - deps 1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 200 1..6 ok 2 - deps 2 1..2 ok t/prop-features.t ................... ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 412 1..6 ok 1 - deps 1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 200 1..6 ok 2 - deps 1 1..2 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 637. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'basics' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Perinci/Sub/Wrapper.pm line 637. Use of uninitialized value in numeric eq (==) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: validate_result=0' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.45-QIdoJm\blib\lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 2 tests of 3. t/prop-result.t ..................... ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 500 1..3 ok 2 - call \#1: 1..2 ok 1 - wrapper checks that sub produces enveloped result not ok 1 - wrap doesn't die 1..1 not ok 2 - basics not ok 1 - wrap doesn't die 1..1 not ok 3 - opt: validate_result=0 1..3 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/3 subtests t/release-pod-coverage.t ............ skipped: these tests are for release candidate testing t/release-pod-syntax.t .............. skipped: these tests are for release candidate testing t/release-rinci.t ................... skipped: these tests are for release candidate testing t/wrap_all_subs.t ................... ok 1 - f1 wrapped ok 2 - f1 result ok 3 - f1 meta replaced ok 4 - f2 wrapped ok 5 - f2 result ok 6 - f2 meta replaced 1..6 ok Test Summary Report ------------------- t/01-basics.t (Wstat: 1536 Tests: 29 Failed: 6) Failed tests: 1, 3-6, 29 Non-zero exit status: 6 t/opt-remove_internal_properties.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/prop-args.t (Wstat: 2560 Tests: 16 Failed: 10) Failed tests: 5-12, 15-16 Non-zero exit status: 10 t/prop-result.t (Wstat: 512 Tests: 3 Failed: 2) Failed tests: 2-3 Non-zero exit status: 2 Files=16, Tests=68, 2 wallclock secs ( 0.05 usr + 0.08 sys = 0.13 CPU) Result: FAIL Failed 4/16 test programs. 20/68 subtests failed. SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz one dependency not OK (Data::Sah); additionally test harness failed C:\Perl-5.14\bin\perl.exe ./Build test verbose=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz Running Build for S/SH/SHARYANTO/Perinci-Access-Perl-0.49.tar.gz Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.49-stGc3v CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Perl-0.49.tar.gz Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.45' for 'SHARYANTO/Perinci-Access-Perl-0.49.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.45.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> C:\Perl-5.14\bin\perl.exe ./Build Building Perinci-Access-Perl SHARYANTO/Perinci-Access-Perl-0.49.tar.gz C:\Perl-5.14\bin\perl.exe ./Build -- OK Running Build test >>> C:\Perl-5.14\bin\perl.exe ./Build test verbose=1 t/00-compile.t ............ ok 1 - Perinci/Access/Perl.pm loaded ok ok 2 - Perinci/Access/Schemeless.pm loaded ok 1..2 ok t/perl.t .................. ok 1 - status 1..1 ok 1 - (req: info /) ok 1 - status 1..1 ok 2 - (req: info foo:/) ok 1 - status 1..1 ok 3 - (req: info pm:/) ok 1 - status 1..1 ok 4 - (req: info pl:/) 1..4 ok 1 - only pl scheme is accepted 1..1 ok 1 - request ok 1 - schemeless dies ok 2 1..2 ok 2 - parse_url 1..2 ok t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing t/release-rinci.t ......... skipped: these tests are for release candidate testing Can't locate Data/Sah.pm in @INC (@INC contains: C:/cpanfly-5.14/var/cpan/build/Perinci-Access-Perl-0.49-stGc3v/t/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.49-stGc3v\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.49-stGc3v\blib\arch C:\cpanfly-5.14\var\megalib C:/cpanfly-5.14/var/megalib C:/Perl-5.14/site/lib C:/Perl-5.14/lib .) at C:\cpanfly-5.14\var\megalib/Perinci/Sub/Wrapper.pm line 325. # Child (opt: after_load called (req: call /Perinci/Examples/noop)) exited without calling finalize() # Failed test 'opt: after_load called (req: call /Perinci/Examples/noop)' # at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 252. # Tests were run but no plan was declared and done_testing() was not seen. t/schemeless.t ............ not ok 1 - opt: after_load called (req: call /Perinci/Examples/noop) Dubious, test returned 2 (wstat 512, 0x200) Failed 1/1 subtests Test Summary Report ------------------- t/schemeless.t (Wstat: 512 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=6, Tests=5, 1 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) Result: FAIL Failed 1/6 test programs. 1/5 subtests failed. SHARYANTO/Perinci-Access-Perl-0.49.tar.gz C:\Perl-5.14\bin\perl.exe ./Build test verbose=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Access-Perl-0.49.tar.gz Finished 2013-09-18T02:49:11