PATH=/home/fly1600/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/fly1600/var/megalib/bin Start 2013-08-15T17:18:18 ActivePerl-1600 CPAN-2.00 Reading '/home/fly1600/var/cpan/Metadata' Database was generated on Thu, 15 Aug 2013 19:41:03 GMT Running make for S/SH/SHARYANTO/Data-Sah-0.16.tar.gz Checksum for /net/nas/data/cpan/authors/id/S/SH/SHARYANTO/Data-Sah-0.16.tar.gz ok Data-Sah-0.16/ Data-Sah-0.16/devscripts/ Data-Sah-0.16/devscripts/list-missing-translations Data-Sah-0.16/Changes Data-Sah-0.16/LICENSE Data-Sah-0.16/MANIFEST Data-Sah-0.16/lib/ Data-Sah-0.16/lib/Data/ Data-Sah-0.16/lib/Data/Sah.pm Data-Sah-0.16/lib/Data/Sah/ Data-Sah-0.16/lib/Data/Sah/Schema/ Data-Sah-0.16/lib/Data/Sah/Schema/Common.pm Data-Sah-0.16/lib/Data/Sah/Schema/sah.pm Data-Sah-0.16/lib/Data/Sah/Util/ Data-Sah-0.16/lib/Data/Sah/Util/Func.pm Data-Sah-0.16/lib/Data/Sah/Util/TypeX.pm Data-Sah-0.16/lib/Data/Sah/Util/Role.pm Data-Sah-0.16/lib/Data/Sah/Lang/ Data-Sah-0.16/lib/Data/Sah/Lang/fr_FR.pm Data-Sah-0.16/lib/Data/Sah/Lang/zh_CN.pm Data-Sah-0.16/lib/Data/Sah/Lang/id_ID.pm Data-Sah-0.16/lib/Data/Sah/Compiler/ Data-Sah-0.16/lib/Data/Sah/Compiler/Prog/ Data-Sah-0.16/lib/Data/Sah/Compiler/Prog/TH/ Data-Sah-0.16/lib/Data/Sah/Compiler/Prog/TH/all.pm Data-Sah-0.16/lib/Data/Sah/Compiler/Prog/TH/any.pm Data-Sah-0.16/lib/Data/Sah/Compiler/Prog/TH.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl.pm Data-Sah-0.16/lib/Data/Sah/Compiler/TextResultRole.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/ Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/ Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/hash.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/num.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/bool.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/array.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/code.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/all.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/str.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/obj.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/float.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/int.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/re.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH/any.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js/TH.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/ Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/ Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/hash.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/num.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/bool.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/array.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/code.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/all.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/str.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/obj.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/float.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/Sortable.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/Comparable.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/int.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/HasElems.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/re.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH/any.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human/TH.pm Data-Sah-0.16/lib/Data/Sah/Compiler/Prog.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/ Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/ Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/hash.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/num.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/bool.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/array.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/code.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/all.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/str.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/obj.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/float.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/int.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/re.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH/any.pm Data-Sah-0.16/lib/Data/Sah/Compiler/perl/TH.pm Data-Sah-0.16/lib/Data/Sah/Compiler/js.pm Data-Sah-0.16/lib/Data/Sah/Compiler/TH.pm Data-Sah-0.16/lib/Data/Sah/Compiler/human.pm Data-Sah-0.16/lib/Data/Sah/Manual/ Data-Sah-0.16/lib/Data/Sah/Manual/Extending.pod Data-Sah-0.16/lib/Data/Sah/Lang.pm Data-Sah-0.16/lib/Data/Sah/Compiler.pm Data-Sah-0.16/lib/Data/Sah/Type/ Data-Sah-0.16/lib/Data/Sah/Type/undef.pm Data-Sah-0.16/lib/Data/Sah/Type/hash.pm Data-Sah-0.16/lib/Data/Sah/Type/num.pm Data-Sah-0.16/lib/Data/Sah/Type/bool.pm Data-Sah-0.16/lib/Data/Sah/Type/array.pm Data-Sah-0.16/lib/Data/Sah/Type/code.pm Data-Sah-0.16/lib/Data/Sah/Type/all.pm Data-Sah-0.16/lib/Data/Sah/Type/str.pm Data-Sah-0.16/lib/Data/Sah/Type/obj.pm Data-Sah-0.16/lib/Data/Sah/Type/BaseType.pm Data-Sah-0.16/lib/Data/Sah/Type/float.pm Data-Sah-0.16/lib/Data/Sah/Type/Sortable.pm Data-Sah-0.16/lib/Data/Sah/Type/Comparable.pm Data-Sah-0.16/lib/Data/Sah/Type/int.pm Data-Sah-0.16/lib/Data/Sah/Type/HasElems.pm Data-Sah-0.16/lib/Data/Sah/Type/re.pm Data-Sah-0.16/lib/Data/Sah/Type/any.pm Data-Sah-0.16/lib/Data/Sah/Type/buf.pm Data-Sah-0.16/MANIFEST.SKIP Data-Sah-0.16/README Data-Sah-0.16/META.json Data-Sah-0.16/dist.ini Data-Sah-0.16/t/ Data-Sah-0.16/t/release-rinci.t Data-Sah-0.16/t/01-basics.t Data-Sah-0.16/t/release-pod-coverage.t Data-Sah-0.16/t/perl-type-obj.t Data-Sah-0.16/t/perl-type-bool.t Data-Sah-0.16/t/spectest-js.t Data-Sah-0.16/t/spectest-human.t- Data-Sah-0.16/t/perl-type-re.t Data-Sah-0.16/t/perl-type-code.t Data-Sah-0.16/t/00-compile.t Data-Sah-0.16/t/human-id_ID.t Data-Sah-0.16/t/spectest-perl.t Data-Sah-0.16/t/perl-type-float.t Data-Sah-0.16/t/human-en_US.t Data-Sah-0.16/t/testlib.pl Data-Sah-0.16/t/perl-type-str.t Data-Sah-0.16/t/release-pod-syntax.t Data-Sah-0.16/Build.PL Data-Sah-0.16/META.yml CPAN.pm: Building S/SH/SHARYANTO/Data-Sah-0.16.tar.gz >>> /home/fly1600/ap1600/bin/perl-static Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Data-Sah' version '0.16' >>> ./Build Building Data-Sah SHARYANTO/Data-Sah-0.16.tar.gz ./Build -- OK Running Build test >>> ./Build test verbose=1 t/00-compile.t ............ ok 1 - Data/Sah.pm loaded ok ok 2 - Data/Sah/Compiler.pm loaded ok ok 3 - Data/Sah/Compiler/Prog.pm loaded ok ok 4 - Data/Sah/Compiler/Prog/TH.pm loaded ok ok 5 - Data/Sah/Compiler/Prog/TH/all.pm loaded ok ok 6 - Data/Sah/Compiler/Prog/TH/any.pm loaded ok ok 7 - Data/Sah/Compiler/TH.pm loaded ok ok 8 - Data/Sah/Compiler/TextResultRole.pm loaded ok ok 9 - Data/Sah/Compiler/human.pm loaded ok ok 10 - Data/Sah/Compiler/human/TH.pm loaded ok ok 11 - Data/Sah/Compiler/human/TH/Comparable.pm loaded ok ok 12 - Data/Sah/Compiler/human/TH/HasElems.pm loaded ok ok 13 - Data/Sah/Compiler/human/TH/Sortable.pm loaded ok ok 14 - Data/Sah/Compiler/human/TH/all.pm loaded ok ok 15 - Data/Sah/Compiler/human/TH/any.pm loaded ok ok 16 - Data/Sah/Compiler/human/TH/array.pm loaded ok ok 17 - Data/Sah/Compiler/human/TH/bool.pm loaded ok ok 18 - Data/Sah/Compiler/human/TH/code.pm loaded ok ok 19 - Data/Sah/Compiler/human/TH/float.pm loaded ok ok 20 - Data/Sah/Compiler/human/TH/hash.pm loaded ok ok 21 - Data/Sah/Compiler/human/TH/int.pm loaded ok ok 22 - Data/Sah/Compiler/human/TH/num.pm loaded ok ok 23 - Data/Sah/Compiler/human/TH/obj.pm loaded ok ok 24 - Data/Sah/Compiler/human/TH/re.pm loaded ok ok 25 - Data/Sah/Compiler/human/TH/str.pm loaded ok ok 26 - Data/Sah/Compiler/js.pm loaded ok ok 27 - Data/Sah/Compiler/js/TH.pm loaded ok ok 28 - Data/Sah/Compiler/js/TH/all.pm loaded ok ok 29 - Data/Sah/Compiler/js/TH/any.pm loaded ok ok 30 - Data/Sah/Compiler/js/TH/array.pm loaded ok ok 31 - Data/Sah/Compiler/js/TH/bool.pm loaded ok ok 32 - Data/Sah/Compiler/js/TH/code.pm loaded ok ok 33 - Data/Sah/Compiler/js/TH/float.pm loaded ok ok 34 - Data/Sah/Compiler/js/TH/hash.pm loaded ok ok 35 - Data/Sah/Compiler/js/TH/int.pm loaded ok ok 36 - Data/Sah/Compiler/js/TH/num.pm loaded ok ok 37 - Data/Sah/Compiler/js/TH/obj.pm loaded ok ok 38 - Data/Sah/Compiler/js/TH/re.pm loaded ok ok 39 - Data/Sah/Compiler/js/TH/str.pm loaded ok ok 40 - Data/Sah/Compiler/perl.pm loaded ok ok 41 - Data/Sah/Compiler/perl/TH.pm loaded ok ok 42 - Data/Sah/Compiler/perl/TH/all.pm loaded ok ok 43 - Data/Sah/Compiler/perl/TH/any.pm loaded ok ok 44 - Data/Sah/Compiler/perl/TH/array.pm loaded ok ok 45 - Data/Sah/Compiler/perl/TH/bool.pm loaded ok ok 46 - Data/Sah/Compiler/perl/TH/code.pm loaded ok ok 47 - Data/Sah/Compiler/perl/TH/float.pm loaded ok ok 48 - Data/Sah/Compiler/perl/TH/hash.pm loaded ok ok 49 - Data/Sah/Compiler/perl/TH/int.pm loaded ok ok 50 - Data/Sah/Compiler/perl/TH/num.pm loaded ok ok 51 - Data/Sah/Compiler/perl/TH/obj.pm loaded ok ok 52 - Data/Sah/Compiler/perl/TH/re.pm loaded ok ok 53 - Data/Sah/Compiler/perl/TH/str.pm loaded ok ok 54 - Data/Sah/Lang.pm loaded ok ok 55 - Data/Sah/Lang/fr_FR.pm loaded ok ok 56 - Data/Sah/Lang/id_ID.pm loaded ok ok 57 - Data/Sah/Lang/zh_CN.pm loaded ok ok 58 - Data/Sah/Schema/Common.pm loaded ok ok 59 - Data/Sah/Schema/sah.pm loaded ok ok 60 - Data/Sah/Type/BaseType.pm loaded ok ok 61 - Data/Sah/Type/Comparable.pm loaded ok ok 62 - Data/Sah/Type/HasElems.pm loaded ok ok 63 - Data/Sah/Type/Sortable.pm loaded ok ok 64 - Data/Sah/Type/all.pm loaded ok ok 65 - Data/Sah/Type/any.pm loaded ok ok 66 - Data/Sah/Type/array.pm loaded ok ok 67 - Data/Sah/Type/bool.pm loaded ok ok 68 - Data/Sah/Type/buf.pm loaded ok ok 69 - Data/Sah/Type/code.pm loaded ok ok 70 - Data/Sah/Type/float.pm loaded ok ok 71 - Data/Sah/Type/hash.pm loaded ok ok 72 - Data/Sah/Type/int.pm loaded ok ok 73 - Data/Sah/Type/num.pm loaded ok ok 74 - Data/Sah/Type/obj.pm loaded ok ok 75 - Data/Sah/Type/re.pm loaded ok ok 76 - Data/Sah/Type/str.pm loaded ok ok 77 - Data/Sah/Type/undef.pm loaded ok ok 78 - Data/Sah/Util/Func.pm loaded ok ok 79 - Data/Sah/Util/Role.pm loaded ok ok 80 - Data/Sah/Util/TypeX.pm loaded ok 1..80 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 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] 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] ok 9 - NaN vs ["float", "is_pos_inf", 1] 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] ok 13 - NaN vs ["float", "is_neg_inf", 1] ok 14 - -Inf vs ["float", "is_neg_inf", 1] ok 15 - Inf vs ["float", "is_neg_inf", 1] 1..15 ok 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 All tests successful. Files=15, Tests=146, 22 wallclock secs ( 1.29 usr 0.25 sys + 15.63 cusr 2.12 csys = 19.29 CPU) Result: PASS SHARYANTO/Data-Sah-0.16.tar.gz ./Build test verbose=1 -- OK Steven Haryanto <stevenharyanto@gmail.com> Fast and featureful data structure validation >>> (cd /home/fly1600/var/cpan/build/Data-Sah-0.16-fdHlu7 && tar cvf - Data-Sah-0.16.ppd blib) | gzip -c >/home/fly1600/var/REPO/S/SH/SHARYANTO/Data-Sah-0.16.tar.gz Data-Sah-0.16.ppd blib/ blib/lib/ blib/lib/Data/ blib/lib/Data/Sah/ blib/lib/Data/Sah/Type/ blib/lib/Data/Sah/Type/bool.pm blib/lib/Data/Sah/Type/num.pm blib/lib/Data/Sah/Type/re.pm blib/lib/Data/Sah/Type/buf.pm blib/lib/Data/Sah/Type/int.pm blib/lib/Data/Sah/Type/obj.pm blib/lib/Data/Sah/Type/Sortable.pm blib/lib/Data/Sah/Type/HasElems.pm blib/lib/Data/Sah/Type/any.pm blib/lib/Data/Sah/Type/all.pm blib/lib/Data/Sah/Type/hash.pm blib/lib/Data/Sah/Type/Comparable.pm blib/lib/Data/Sah/Type/str.pm blib/lib/Data/Sah/Type/array.pm blib/lib/Data/Sah/Type/undef.pm blib/lib/Data/Sah/Type/code.pm blib/lib/Data/Sah/Type/float.pm blib/lib/Data/Sah/Type/BaseType.pm blib/lib/Data/Sah/Compiler/ blib/lib/Data/Sah/Compiler/js/ blib/lib/Data/Sah/Compiler/js/TH/ blib/lib/Data/Sah/Compiler/js/TH/float.pm blib/lib/Data/Sah/Compiler/js/TH/array.pm blib/lib/Data/Sah/Compiler/js/TH/str.pm blib/lib/Data/Sah/Compiler/js/TH/hash.pm blib/lib/Data/Sah/Compiler/js/TH/bool.pm blib/lib/Data/Sah/Compiler/js/TH/num.pm blib/lib/Data/Sah/Compiler/js/TH/all.pm blib/lib/Data/Sah/Compiler/js/TH/int.pm blib/lib/Data/Sah/Compiler/js/TH/any.pm blib/lib/Data/Sah/Compiler/js/TH/code.pm blib/lib/Data/Sah/Compiler/js/TH/obj.pm blib/lib/Data/Sah/Compiler/js/TH/re.pm blib/lib/Data/Sah/Compiler/js/TH.pm blib/lib/Data/Sah/Compiler/human/ blib/lib/Data/Sah/Compiler/human/TH/ blib/lib/Data/Sah/Compiler/human/TH/int.pm blib/lib/Data/Sah/Compiler/human/TH/obj.pm blib/lib/Data/Sah/Compiler/human/TH/bool.pm blib/lib/Data/Sah/Compiler/human/TH/Sortable.pm blib/lib/Data/Sah/Compiler/human/TH/code.pm blib/lib/Data/Sah/Compiler/human/TH/HasElems.pm blib/lib/Data/Sah/Compiler/human/TH/num.pm blib/lib/Data/Sah/Compiler/human/TH/any.pm blib/lib/Data/Sah/Compiler/human/TH/str.pm blib/lib/Data/Sah/Compiler/human/TH/re.pm blib/lib/Data/Sah/Compiler/human/TH/all.pm blib/lib/Data/Sah/Compiler/human/TH/float.pm blib/lib/Data/Sah/Compiler/human/TH/array.pm blib/lib/Data/Sah/Compiler/human/TH/hash.pm blib/lib/Data/Sah/Compiler/human/TH/Comparable.pm blib/lib/Data/Sah/Compiler/human/TH.pm blib/lib/Data/Sah/Compiler/perl/ blib/lib/Data/Sah/Compiler/perl/TH/ blib/lib/Data/Sah/Compiler/perl/TH/array.pm blib/lib/Data/Sah/Compiler/perl/TH/all.pm blib/lib/Data/Sah/Compiler/perl/TH/obj.pm blib/lib/Data/Sah/Compiler/perl/TH/re.pm blib/lib/Data/Sah/Compiler/perl/TH/hash.pm blib/lib/Data/Sah/Compiler/perl/TH/code.pm blib/lib/Data/Sah/Compiler/perl/TH/float.pm blib/lib/Data/Sah/Compiler/perl/TH/str.pm blib/lib/Data/Sah/Compiler/perl/TH/bool.pm blib/lib/Data/Sah/Compiler/perl/TH/int.pm blib/lib/Data/Sah/Compiler/perl/TH/any.pm blib/lib/Data/Sah/Compiler/perl/TH/num.pm blib/lib/Data/Sah/Compiler/perl/TH.pm blib/lib/Data/Sah/Compiler/Prog.pm blib/lib/Data/Sah/Compiler/Prog/ blib/lib/Data/Sah/Compiler/Prog/TH/ blib/lib/Data/Sah/Compiler/Prog/TH/any.pm blib/lib/Data/Sah/Compiler/Prog/TH/all.pm blib/lib/Data/Sah/Compiler/Prog/TH.pm blib/lib/Data/Sah/Compiler/perl.pm blib/lib/Data/Sah/Compiler/js.pm blib/lib/Data/Sah/Compiler/TH.pm blib/lib/Data/Sah/Compiler/TextResultRole.pm blib/lib/Data/Sah/Compiler/human.pm blib/lib/Data/Sah/Util/ blib/lib/Data/Sah/Util/TypeX.pm blib/lib/Data/Sah/Util/Role.pm blib/lib/Data/Sah/Util/Func.pm blib/lib/Data/Sah/Schema/ blib/lib/Data/Sah/Schema/Common.pm blib/lib/Data/Sah/Schema/sah.pm blib/lib/Data/Sah/Lang/ blib/lib/Data/Sah/Lang/fr_FR.pm blib/lib/Data/Sah/Lang/zh_CN.pm blib/lib/Data/Sah/Lang/id_ID.pm blib/lib/Data/Sah/Lang.pm blib/lib/Data/Sah/Compiler.pm blib/lib/Data/Sah/Manual/ blib/lib/Data/Sah/Manual/Extending.pod blib/lib/Data/Sah.pm >>> mv /home/fly1600/var/cpan/build/Data-Sah-0.16-fdHlu7/Data-Sah-0.16.ppd /home/fly1600/var/REPO/S/SH/SHARYANTO VmSize: 291432 kB Finished 2013-08-15T17:18:50