PATH=/usr/bin:/bin
Start 2016-05-26T05:01:25
ActivePerl-1400 CPAN-2.10
Reading '/Users/fly1400/cpanfly-5.14/var/cpan/Metadata'
Database was generated on Wed, 25 May 2016 05:41:02 GMT
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/App-lcpan-0.87.tar.gz
Checksum for /Users/fly1400/cpanfly-5.14/var/cpan/sources/authors/id/P/PE/PERLANCAR/App-lcpan-0.87.tar.gz ok
App-lcpan-0.87/
App-lcpan-0.87/bin/
App-lcpan-0.87/bin/lcpanm
App-lcpan-0.87/bin/lcpan
App-lcpan-0.87/README
App-lcpan-0.87/lib/
App-lcpan-0.87/lib/App/
App-lcpan-0.87/lib/App/lcpan.pm
App-lcpan-0.87/lib/App/lcpan/
App-lcpan-0.87/lib/App/lcpan/PodParser.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/
App-lcpan-0.87/lib/App/lcpan/Cmd/mentions_for_all_mods.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_mod_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/rels.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/script2author.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_deps_by_dependent_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_script_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_deps.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/dist2rel.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/script2rel.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/dist2author.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/stats.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mods_by_rdep_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/extract_rel.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/releases.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/copy_rel.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/changes.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mod2dist.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mentions_by_script.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/dists_by_dep_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/scripts_by_mention_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/deps_by_dependent_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/dist_scripts.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/scripts.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/script2mod.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_scripts.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/copy_script.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mentions_for_script.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/rdeps.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/extract_mod.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_mods.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_dist_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/update.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/dists.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mod2author.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/namespaces.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/subnames_by_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_dists.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/extract_script.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_rels.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/stats_last_index_time.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/related_mods.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mentions_for_mod.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_rel_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/reset.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mentions.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_mod_mention_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/copy_mod.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mentions_by_mod.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_filesize.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/author_rdeps.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/authors_by_rdep_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/doc.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/modules.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/scripts_from_same_dist.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/subs.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/contents.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/src.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mod2rel.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/script2dist.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/deps.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mods_by_mention_count.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mods.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/mods_from_same_dist.pm
App-lcpan-0.87/lib/App/lcpan/Cmd/dist_mods.pm
App-lcpan-0.87/lib/App/lcpan/Manual/
App-lcpan-0.87/lib/App/lcpan/Manual/Cookbook.pod
App-lcpan-0.87/lib/LWP/
App-lcpan-0.87/lib/LWP/UserAgent/
App-lcpan-0.87/lib/LWP/UserAgent/Patch/
App-lcpan-0.87/lib/LWP/UserAgent/Patch/FilterLcpan.pm
App-lcpan-0.87/Makefile.PL
App-lcpan-0.87/Changes
App-lcpan-0.87/dist.ini
App-lcpan-0.87/LICENSE
App-lcpan-0.87/t/
App-lcpan-0.87/t/00-compile.t
App-lcpan-0.87/t/release-sql_schema_versioned.t
App-lcpan-0.87/t/release-rinci.t
App-lcpan-0.87/t/author-pod-syntax.t
App-lcpan-0.87/t/author-pod-coverage.t
App-lcpan-0.87/weaver.ini
App-lcpan-0.87/MANIFEST
App-lcpan-0.87/META.json
App-lcpan-0.87/META.yml
Configuring P/PE/PERLANCAR/App-lcpan-0.87.tar.gz with Makefile.PL
>>> /Users/fly1400/ap1400/bin/perl Makefile.PL
Warning: prerequisite App::ShellCompleter::cpanm 0 not found.
Warning: prerequisite Compiler::Lexer 0 not found.
Warning: prerequisite LWP::UserAgent::Patch::FilterMirrorMaxSize 0 not found.
Warning: prerequisite Perinci::CmdLine::Util::Config 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for App::lcpan
Writing MYMETA.yml and MYMETA.json
Modifying Makefile to generate shell completion on install
PERLANCAR/App-lcpan-0.87.tar.gz
/Users/fly1400/ap1400/bin/perl Makefile.PL -- OK
Running make for P/PE/PERLANCAR/App-lcpan-0.87.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/App-lcpan-0.87.tar.gz ----
LWP::UserAgent::Patch::FilterMirrorMaxSize [requires]
Perinci::CmdLine::Util::Config [requires]
App::ShellCompleter::cpanm [requires]
Compiler::Lexer [requires]
Running test for module 'LWP::UserAgent::Patch::FilterMirrorMaxSize'
Checksum for /Users/fly1400/cpanfly-5.14/var/cpan/sources/authors/id/P/PE/PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz ok
LWP-UserAgent-Patch-FilterMirror-0.05/
LWP-UserAgent-Patch-FilterMirror-0.05/META.json
LWP-UserAgent-Patch-FilterMirror-0.05/LICENSE
LWP-UserAgent-Patch-FilterMirror-0.05/Changes
LWP-UserAgent-Patch-FilterMirror-0.05/META.yml
LWP-UserAgent-Patch-FilterMirror-0.05/Makefile.PL
LWP-UserAgent-Patch-FilterMirror-0.05/t/
LWP-UserAgent-Patch-FilterMirror-0.05/t/release-pod-syntax.t
LWP-UserAgent-Patch-FilterMirror-0.05/t/release-pod-coverage.t
LWP-UserAgent-Patch-FilterMirror-0.05/t/release-rinci.t
LWP-UserAgent-Patch-FilterMirror-0.05/t/00-compile.t
LWP-UserAgent-Patch-FilterMirror-0.05/README
LWP-UserAgent-Patch-FilterMirror-0.05/dist.ini
LWP-UserAgent-Patch-FilterMirror-0.05/lib/
LWP-UserAgent-Patch-FilterMirror-0.05/lib/LWP/
LWP-UserAgent-Patch-FilterMirror-0.05/lib/LWP/UserAgent/
LWP-UserAgent-Patch-FilterMirror-0.05/lib/LWP/UserAgent/Patch/
LWP-UserAgent-Patch-FilterMirror-0.05/lib/LWP/UserAgent/Patch/FilterMirrorMaxSize.pm
LWP-UserAgent-Patch-FilterMirror-0.05/lib/LWP/UserAgent/Patch/FilterMirror.pm
LWP-UserAgent-Patch-FilterMirror-0.05/MANIFEST
LWP-UserAgent-Patch-FilterMirror-0.05/weaver.ini
Configuring P/PE/PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz with Makefile.PL
>>> /Users/fly1400/ap1400/bin/perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for LWP::UserAgent::Patch::FilterMirror
Writing MYMETA.yml and MYMETA.json
PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz
/Users/fly1400/ap1400/bin/perl Makefile.PL -- OK
Running make for P/PE/PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz
>>> make
cp lib/LWP/UserAgent/Patch/FilterMirrorMaxSize.pm blib/lib/LWP/UserAgent/Patch/FilterMirrorMaxSize.pm
cp lib/LWP/UserAgent/Patch/FilterMirror.pm blib/lib/LWP/UserAgent/Patch/FilterMirror.pm
Manifying 2 pod documents
PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz
make -- OK
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/Users/fly1400/ap1400/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
# Failed test 'LWP/UserAgent/Patch/FilterMirror.pm loaded ok'
# at t/00-compile.t line 38.
# got: '65280'
# expected: '0'
"gen_modified_sub" is not exported by the Perinci::Sub::Util module
Can't continue after import errors at /Users/fly1400/cpanfly-5.14/var/megalib/SHARYANTO/Array/Util.pm line 11.
BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/SHARYANTO/Array/Util.pm line 11.
Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/megalib/Module/Patch.pm line 14.
BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/Module/Patch.pm line 14.
Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/cpan/build/LWP-UserAgent-Patch-FilterMirror-0.05-uUjj_0/blib/lib/LWP/UserAgent/Patch/FilterMirror.pm line 7.
BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/cpan/build/LWP-UserAgent-Patch-FilterMirror-0.05-uUjj_0/blib/lib/LWP/UserAgent/Patch/FilterMirror.pm line 7.
Compilation failed in require at -e line 1.
# Failed test 'LWP/UserAgent/Patch/FilterMirrorMaxSize.pm loaded ok'
# at t/00-compile.t line 38.
# got: '65280'
# expected: '0'
"gen_modified_sub" is not exported by the Perinci::Sub::Util module
Can't continue after import errors at /Users/fly1400/cpanfly-5.14/var/megalib/SHARYANTO/Array/Util.pm line 11.
BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/SHARYANTO/Array/Util.pm line 11.
Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/megalib/Module/Patch.pm line 14.
BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/Module/Patch.pm line 14.
Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/cpan/build/LWP-UserAgent-Patch-FilterMirror-0.05-uUjj_0/blib/lib/LWP/UserAgent/Patch/FilterMirrorMaxSize.pm line 8.
BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/cpan/build/LWP-UserAgent-Patch-FilterMirror-0.05-uUjj_0/blib/lib/LWP/UserAgent/Patch/FilterMirrorMaxSize.pm line 8.
Compilation failed in require at -e line 1.
# Looks like you failed 2 tests of 2.
t/00-compile.t ............
1..2
not ok 1 - LWP/UserAgent/Patch/FilterMirror.pm loaded ok
not ok 2 - LWP/UserAgent/Patch/FilterMirrorMaxSize.pm loaded ok
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
t/release-pod-coverage.t .. skipped: these tests are for release candidate testing
t/release-pod-syntax.t .... skipped: these tests are for release candidate testing
t/release-rinci.t ......... skipped: these tests are for release candidate testing
Test Summary Report
-------------------
t/00-compile.t (Wstat: 512 Tests: 2 Failed: 2)
Failed tests: 1-2
Non-zero exit status: 2
Files=4, Tests=2, 3 wallclock secs ( 0.04 usr 0.02 sys + 0.22 cusr 0.06 csys = 0.34 CPU)
Result: FAIL
Failed 1/4 test programs. 2/2 subtests failed.
make: *** [test_dynamic] Error 255
PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz
make test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports PERLANCAR/LWP-UserAgent-Patch-FilterMirror-0.05.tar.gz
Running test for module 'Perinci::CmdLine::Util::Config'
Checksum for /Users/fly1400/cpanfly-5.14/var/cpan/sources/authors/id/P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz ok
Perinci-CmdLine-Lite-1.55/
Perinci-CmdLine-Lite-1.55/README
Perinci-CmdLine-Lite-1.55/lib/
Perinci-CmdLine-Lite-1.55/lib/Perinci/
Perinci-CmdLine-Lite-1.55/lib/Perinci/CmdLine/
Perinci-CmdLine-Lite-1.55/lib/Perinci/CmdLine/Lite.pm
Perinci-CmdLine-Lite-1.55/lib/Perinci/CmdLine/Base.pm
Perinci-CmdLine-Lite-1.55/lib/Perinci/CmdLine/Util/
Perinci-CmdLine-Lite-1.55/lib/Perinci/CmdLine/Util/Config.pm
Perinci-CmdLine-Lite-1.55/Makefile.PL
Perinci-CmdLine-Lite-1.55/share/
Perinci-CmdLine-Lite-1.55/share/templates/
Perinci-CmdLine-Lite-1.55/share/templates/description.txt
Perinci-CmdLine-Lite-1.55/share/templates/synopsis.txt
Perinci-CmdLine-Lite-1.55/Changes
Perinci-CmdLine-Lite-1.55/dist.ini
Perinci-CmdLine-Lite-1.55/LICENSE
Perinci-CmdLine-Lite-1.55/t/
Perinci-CmdLine-Lite-1.55/t/00-compile.t
Perinci-CmdLine-Lite-1.55/t/suite.t
Perinci-CmdLine-Lite-1.55/t/release-rinci.t
Perinci-CmdLine-Lite-1.55/t/author-pod-syntax.t
Perinci-CmdLine-Lite-1.55/t/author-pod-coverage.t
Perinci-CmdLine-Lite-1.55/weaver.ini
Perinci-CmdLine-Lite-1.55/MANIFEST
Perinci-CmdLine-Lite-1.55/META.json
Perinci-CmdLine-Lite-1.55/META.yml
Perinci-CmdLine-Lite-1.55/devscripts/
Perinci-CmdLine-Lite-1.55/devscripts/bench-startup
Configuring P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz with Makefile.PL
>>> /Users/fly1400/ap1400/bin/perl Makefile.PL
Warning: prerequisite Data::Sah 0.77 not found. We have 0.76.
Warning: prerequisite Progress::Any::Output::TermProgressBarColor 0.17 not found. We have 0.10.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Perinci::CmdLine::Lite
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz
/Users/fly1400/ap1400/bin/perl Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz ----
Data::Sah [requires]
Progress::Any::Output::TermProgressBarColor [requires]
Running test for module 'Data::Sah'
Checksum for /Users/fly1400/cpanfly-5.14/var/cpan/sources/authors/id/P/PE/PERLANCAR/Data-Sah-0.78.tar.gz ok
Data-Sah-0.78/
Data-Sah-0.78/README
Data-Sah-0.78/lib/
Data-Sah-0.78/lib/Test/
Data-Sah-0.78/lib/Test/Data/
Data-Sah-0.78/lib/Test/Data/Sah.pm
Data-Sah-0.78/lib/Data/
Data-Sah-0.78/lib/Data/Sah/
Data-Sah-0.78/lib/Data/Sah/Human.pm
Data-Sah-0.78/lib/Data/Sah/Lang/
Data-Sah-0.78/lib/Data/Sah/Lang/zh_CN.pm
Data-Sah-0.78/lib/Data/Sah/Lang/fr_FR.pm
Data-Sah-0.78/lib/Data/Sah/Lang/id_ID.pm
Data-Sah-0.78/lib/Data/Sah/JS.pm
Data-Sah-0.78/lib/Data/Sah/Type/
Data-Sah-0.78/lib/Data/Sah/Type/undef.pm
Data-Sah-0.78/lib/Data/Sah/Type/hash.pm
Data-Sah-0.78/lib/Data/Sah/Type/re.pm
Data-Sah-0.78/lib/Data/Sah/Type/cistr.pm
Data-Sah-0.78/lib/Data/Sah/Type/any.pm
Data-Sah-0.78/lib/Data/Sah/Type/code.pm
Data-Sah-0.78/lib/Data/Sah/Type/bool.pm
Data-Sah-0.78/lib/Data/Sah/Type/all.pm
Data-Sah-0.78/lib/Data/Sah/Type/num.pm
Data-Sah-0.78/lib/Data/Sah/Type/Comparable.pm
Data-Sah-0.78/lib/Data/Sah/Type/duration.pm
Data-Sah-0.78/lib/Data/Sah/Type/array.pm
Data-Sah-0.78/lib/Data/Sah/Type/Sortable.pm
Data-Sah-0.78/lib/Data/Sah/Type/BaseType.pm
Data-Sah-0.78/lib/Data/Sah/Type/date.pm
Data-Sah-0.78/lib/Data/Sah/Type/str.pm
Data-Sah-0.78/lib/Data/Sah/Type/obj.pm
Data-Sah-0.78/lib/Data/Sah/Type/buf.pm
Data-Sah-0.78/lib/Data/Sah/Type/HasElems.pm
Data-Sah-0.78/lib/Data/Sah/Type/float.pm
Data-Sah-0.78/lib/Data/Sah/Type/int.pm
Data-Sah-0.78/lib/Data/Sah/Compiler.pm
Data-Sah-0.78/lib/Data/Sah/Manual/
Data-Sah-0.78/lib/Data/Sah/Manual/Contributing.pod
Data-Sah-0.78/lib/Data/Sah/Manual/Extending.pod
Data-Sah-0.78/lib/Data/Sah/Manual/Developer.pod
Data-Sah-0.78/lib/Data/Sah/Manual.pod
Data-Sah-0.78/lib/Data/Sah/Util/
Data-Sah-0.78/lib/Data/Sah/Util/Role.pm
Data-Sah-0.78/lib/Data/Sah/Util/Type/
Data-Sah-0.78/lib/Data/Sah/Util/Type/Date.pm
Data-Sah-0.78/lib/Data/Sah/Util/Func.pm
Data-Sah-0.78/lib/Data/Sah/Util/TypeX.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/
Data-Sah-0.78/lib/Data/Sah/Compiler/human/
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/undef.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/hash.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/re.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/cistr.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/any.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/code.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/bool.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/all.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/num.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/Comparable.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/duration.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/array.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/Sortable.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/date.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/str.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/obj.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/buf.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/HasElems.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/float.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH/int.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human/TH.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/undef.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/hash.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/re.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/cistr.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/any.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/code.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/bool.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/all.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/num.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/duration.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/array.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/date.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/str.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/obj.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/buf.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/float.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH/int.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js/TH.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/human.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/Prog/
Data-Sah-0.78/lib/Data/Sah/Compiler/Prog/TH/
Data-Sah-0.78/lib/Data/Sah/Compiler/Prog/TH/any.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/Prog/TH/all.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/Prog/TH.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/Prog.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/undef.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/hash.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/re.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/cistr.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/any.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/code.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/bool.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/all.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/num.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/duration.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/array.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/date.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/str.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/obj.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/buf.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/float.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH/int.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/perl/TH.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/TH.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/TextResultRole.pm
Data-Sah-0.78/lib/Data/Sah/Compiler/js.pm
Data-Sah-0.78/lib/Data/Sah/Lang.pm
Data-Sah-0.78/lib/Data/Sah.pm
Data-Sah-0.78/Makefile.PL
Data-Sah-0.78/Changes
Data-Sah-0.78/dist.ini
Data-Sah-0.78/LICENSE
Data-Sah-0.78/t/
Data-Sah-0.78/t/00-compile.t
Data-Sah-0.78/t/01-basics.t
Data-Sah-0.78/t/testlib.pl
Data-Sah-0.78/t/perl-type-re.t
Data-Sah-0.78/t/spectest-perl.t
Data-Sah-0.78/t/util-type-date.t
Data-Sah-0.78/t/human-id_ID.t
Data-Sah-0.78/t/spectest-js.t
Data-Sah-0.78/t/perl-type-date.t
Data-Sah-0.78/t/human-en_US.t
Data-Sah-0.78/t/perl-type-obj.t
Data-Sah-0.78/t/js-type-date.t
Data-Sah-0.78/t/perl-type-code.t
Data-Sah-0.78/t/spectest-human.t-
Data-Sah-0.78/t/perl-type-str.t
Data-Sah-0.78/t/perl-type-float.t
Data-Sah-0.78/t/99-various.t
Data-Sah-0.78/t/js-type-duration.t
Data-Sah-0.78/t/perl-type-duration.t
Data-Sah-0.78/t/author-pod-syntax.t
Data-Sah-0.78/t/perl-type-bool.t
Data-Sah-0.78/t/author-pod-coverage.t
Data-Sah-0.78/t/perl-misc.t
Data-Sah-0.78/t/js-misc.t
Data-Sah-0.78/weaver.ini
Data-Sah-0.78/MANIFEST
Data-Sah-0.78/META.json
Data-Sah-0.78/META.yml
Data-Sah-0.78/devscripts/
Data-Sah-0.78/devscripts/list-missing-translations
Configuring P/PE/PERLANCAR/Data-Sah-0.78.tar.gz with Makefile.PL
>>> /Users/fly1400/ap1400/bin/perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Data::Sah
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Data-Sah-0.78.tar.gz
/Users/fly1400/ap1400/bin/perl Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Data-Sah-0.78.tar.gz
>>> make
cp lib/Data/Sah/Compiler/js/TH/undef.pm blib/lib/Data/Sah/Compiler/js/TH/undef.pm
cp lib/Data/Sah/Type/bool.pm blib/lib/Data/Sah/Type/bool.pm
cp lib/Data/Sah/Manual/Extending.pod blib/lib/Data/Sah/Manual/Extending.pod
cp lib/Data/Sah/Compiler/js/TH/float.pm blib/lib/Data/Sah/Compiler/js/TH/float.pm
cp lib/Data/Sah/Compiler/human/TH/cistr.pm blib/lib/Data/Sah/Compiler/human/TH/cistr.pm
cp lib/Data/Sah/Manual/Contributing.pod blib/lib/Data/Sah/Manual/Contributing.pod
cp lib/Data/Sah/Compiler/js/TH/array.pm blib/lib/Data/Sah/Compiler/js/TH/array.pm
cp lib/Data/Sah/Compiler/human/TH/int.pm blib/lib/Data/Sah/Compiler/human/TH/int.pm
cp lib/Data/Sah/Compiler/perl/TH/array.pm blib/lib/Data/Sah/Compiler/perl/TH/array.pm
cp lib/Data/Sah/Type/num.pm blib/lib/Data/Sah/Type/num.pm
cp lib/Data/Sah/Util/TypeX.pm blib/lib/Data/Sah/Util/TypeX.pm
cp lib/Data/Sah/Compiler/perl/TH/date.pm blib/lib/Data/Sah/Compiler/perl/TH/date.pm
cp lib/Data/Sah/Compiler/js/TH/duration.pm blib/lib/Data/Sah/Compiler/js/TH/duration.pm
cp lib/Data/Sah/Type/re.pm blib/lib/Data/Sah/Type/re.pm
cp lib/Data/Sah/Compiler/Prog.pm blib/lib/Data/Sah/Compiler/Prog.pm
cp lib/Data/Sah/Compiler/js/TH/str.pm blib/lib/Data/Sah/Compiler/js/TH/str.pm
cp lib/Data/Sah/Compiler/js/TH.pm blib/lib/Data/Sah/Compiler/js/TH.pm
cp lib/Data/Sah/Util/Role.pm blib/lib/Data/Sah/Util/Role.pm
cp lib/Data/Sah/Type/buf.pm blib/lib/Data/Sah/Type/buf.pm
cp lib/Data/Sah/Compiler/human/TH/obj.pm blib/lib/Data/Sah/Compiler/human/TH/obj.pm
cp lib/Data/Sah/Lang/fr_FR.pm blib/lib/Data/Sah/Lang/fr_FR.pm
cp lib/Data/Sah/Type/int.pm blib/lib/Data/Sah/Type/int.pm
cp lib/Data/Sah/Type/obj.pm blib/lib/Data/Sah/Type/obj.pm
cp lib/Data/Sah/Compiler/Prog/TH/any.pm blib/lib/Data/Sah/Compiler/Prog/TH/any.pm
cp lib/Data/Sah/Compiler/perl/TH/all.pm blib/lib/Data/Sah/Compiler/perl/TH/all.pm
cp lib/Data/Sah/Compiler/human/TH/bool.pm blib/lib/Data/Sah/Compiler/human/TH/bool.pm
cp lib/Data/Sah/Type/Sortable.pm blib/lib/Data/Sah/Type/Sortable.pm
cp lib/Data/Sah/Lang/zh_CN.pm blib/lib/Data/Sah/Lang/zh_CN.pm
cp lib/Data/Sah/Compiler/perl/TH/obj.pm blib/lib/Data/Sah/Compiler/perl/TH/obj.pm
cp lib/Data/Sah/Compiler/human/TH/Sortable.pm blib/lib/Data/Sah/Compiler/human/TH/Sortable.pm
cp lib/Data/Sah/Compiler/Prog/TH.pm blib/lib/Data/Sah/Compiler/Prog/TH.pm
cp lib/Data/Sah/Compiler/js/TH/hash.pm blib/lib/Data/Sah/Compiler/js/TH/hash.pm
cp lib/Data/Sah/Compiler/human/TH/code.pm blib/lib/Data/Sah/Compiler/human/TH/code.pm
cp lib/Data/Sah/Compiler/Prog/TH/all.pm blib/lib/Data/Sah/Compiler/Prog/TH/all.pm
cp lib/Data/Sah/Compiler/human/TH.pm blib/lib/Data/Sah/Compiler/human/TH.pm
cp lib/Data/Sah/Compiler/perl/TH/re.pm blib/lib/Data/Sah/Compiler/perl/TH/re.pm
cp lib/Data/Sah/Compiler/human/TH/date.pm blib/lib/Data/Sah/Compiler/human/TH/date.pm
cp lib/Data/Sah/Compiler/human/TH/duration.pm blib/lib/Data/Sah/Compiler/human/TH/duration.pm
cp lib/Data/Sah/Compiler/js/TH/bool.pm blib/lib/Data/Sah/Compiler/js/TH/bool.pm
cp lib/Data/Sah/Compiler/js/TH/date.pm blib/lib/Data/Sah/Compiler/js/TH/date.pm
cp lib/Data/Sah/Compiler/js/TH/num.pm blib/lib/Data/Sah/Compiler/js/TH/num.pm
cp lib/Data/Sah/Compiler/perl.pm blib/lib/Data/Sah/Compiler/perl.pm
cp lib/Data/Sah/Compiler/perl/TH.pm blib/lib/Data/Sah/Compiler/perl/TH.pm
cp lib/Data/Sah/Manual.pod blib/lib/Data/Sah/Manual.pod
cp lib/Data/Sah/Type/HasElems.pm blib/lib/Data/Sah/Type/HasElems.pm
cp lib/Data/Sah/Lang.pm blib/lib/Data/Sah/Lang.pm
cp lib/Data/Sah/Compiler/perl/TH/hash.pm blib/lib/Data/Sah/Compiler/perl/TH/hash.pm
cp lib/Test/Data/Sah.pm blib/lib/Test/Data/Sah.pm
cp lib/Data/Sah/Lang/id_ID.pm blib/lib/Data/Sah/Lang/id_ID.pm
cp lib/Data/Sah/Manual/Developer.pod blib/lib/Data/Sah/Manual/Developer.pod
cp lib/Data/Sah/Compiler/perl/TH/code.pm blib/lib/Data/Sah/Compiler/perl/TH/code.pm
cp lib/Data/Sah/Type/any.pm blib/lib/Data/Sah/Type/any.pm
cp lib/Data/Sah/Compiler/perl/TH/float.pm blib/lib/Data/Sah/Compiler/perl/TH/float.pm
cp lib/Data/Sah/Compiler/perl/TH/str.pm blib/lib/Data/Sah/Compiler/perl/TH/str.pm
cp lib/Data/Sah/Type/duration.pm blib/lib/Data/Sah/Type/duration.pm
cp lib/Data/Sah.pm blib/lib/Data/Sah.pm
cp lib/Data/Sah/Compiler/human/TH/HasElems.pm blib/lib/Data/Sah/Compiler/human/TH/HasElems.pm
cp lib/Data/Sah/Compiler/js.pm blib/lib/Data/Sah/Compiler/js.pm
cp lib/Data/Sah/Compiler/js/TH/buf.pm blib/lib/Data/Sah/Compiler/js/TH/buf.pm
cp lib/Data/Sah/Type/hash.pm blib/lib/Data/Sah/Type/hash.pm
cp lib/Data/Sah/Type/all.pm blib/lib/Data/Sah/Type/all.pm
cp lib/Data/Sah/Compiler.pm blib/lib/Data/Sah/Compiler.pm
cp lib/Data/Sah/Compiler/human/TH/num.pm blib/lib/Data/Sah/Compiler/human/TH/num.pm
cp lib/Data/Sah/Human.pm blib/lib/Data/Sah/Human.pm
cp lib/Data/Sah/Compiler/human/TH/any.pm blib/lib/Data/Sah/Compiler/human/TH/any.pm
cp lib/Data/Sah/Compiler/perl/TH/duration.pm blib/lib/Data/Sah/Compiler/perl/TH/duration.pm
cp lib/Data/Sah/Compiler/js/TH/all.pm blib/lib/Data/Sah/Compiler/js/TH/all.pm
cp lib/Data/Sah/Compiler/human/TH/buf.pm blib/lib/Data/Sah/Compiler/human/TH/buf.pm
cp lib/Data/Sah/Type/date.pm blib/lib/Data/Sah/Type/date.pm
cp lib/Data/Sah/Compiler/human/TH/str.pm blib/lib/Data/Sah/Compiler/human/TH/str.pm
cp lib/Data/Sah/Compiler/js/TH/int.pm blib/lib/Data/Sah/Compiler/js/TH/int.pm
cp lib/Data/Sah/Type/Comparable.pm blib/lib/Data/Sah/Type/Comparable.pm
cp lib/Data/Sah/Compiler/perl/TH/bool.pm blib/lib/Data/Sah/Compiler/perl/TH/bool.pm
cp lib/Data/Sah/Type/str.pm blib/lib/Data/Sah/Type/str.pm
cp lib/Data/Sah/Type/array.pm blib/lib/Data/Sah/Type/array.pm
cp lib/Data/Sah/Type/cistr.pm blib/lib/Data/Sah/Type/cistr.pm
cp lib/Data/Sah/Compiler/human/TH/re.pm blib/lib/Data/Sah/Compiler/human/TH/re.pm
cp lib/Data/Sah/Compiler/js/TH/any.pm blib/lib/Data/Sah/Compiler/js/TH/any.pm
cp lib/Data/Sah/Type/undef.pm blib/lib/Data/Sah/Type/undef.pm
cp lib/Data/Sah/Compiler/js/TH/code.pm blib/lib/Data/Sah/Compiler/js/TH/code.pm
cp lib/Data/Sah/Compiler/perl/TH/int.pm blib/lib/Data/Sah/Compiler/perl/TH/int.pm
cp lib/Data/Sah/Compiler/human/TH/all.pm blib/lib/Data/Sah/Compiler/human/TH/all.pm
cp lib/Data/Sah/Compiler/js/TH/obj.pm blib/lib/Data/Sah/Compiler/js/TH/obj.pm
cp lib/Data/Sah/Compiler/perl/TH/any.pm blib/lib/Data/Sah/Compiler/perl/TH/any.pm
cp lib/Data/Sah/Type/code.pm blib/lib/Data/Sah/Type/code.pm
cp lib/Data/Sah/Compiler/human/TH/float.pm blib/lib/Data/Sah/Compiler/human/TH/float.pm
cp lib/Data/Sah/Compiler/TH.pm blib/lib/Data/Sah/Compiler/TH.pm
cp lib/Data/Sah/Compiler/perl/TH/buf.pm blib/lib/Data/Sah/Compiler/perl/TH/buf.pm
cp lib/Data/Sah/Compiler/perl/TH/cistr.pm blib/lib/Data/Sah/Compiler/perl/TH/cistr.pm
cp lib/Data/Sah/JS.pm blib/lib/Data/Sah/JS.pm
cp lib/Data/Sah/Compiler/perl/TH/num.pm blib/lib/Data/Sah/Compiler/perl/TH/num.pm
cp lib/Data/Sah/Util/Type/Date.pm blib/lib/Data/Sah/Util/Type/Date.pm
cp lib/Data/Sah/Type/float.pm blib/lib/Data/Sah/Type/float.pm
cp lib/Data/Sah/Type/BaseType.pm blib/lib/Data/Sah/Type/BaseType.pm
cp lib/Data/Sah/Compiler/human/TH/undef.pm blib/lib/Data/Sah/Compiler/human/TH/undef.pm
cp lib/Data/Sah/Compiler/human/TH/array.pm blib/lib/Data/Sah/Compiler/human/TH/array.pm
cp lib/Data/Sah/Compiler/human/TH/hash.pm blib/lib/Data/Sah/Compiler/human/TH/hash.pm
cp lib/Data/Sah/Compiler/perl/TH/undef.pm blib/lib/Data/Sah/Compiler/perl/TH/undef.pm
cp lib/Data/Sah/Compiler/js/TH/re.pm blib/lib/Data/Sah/Compiler/js/TH/re.pm
cp lib/Data/Sah/Util/Func.pm blib/lib/Data/Sah/Util/Func.pm
cp lib/Data/Sah/Compiler/TextResultRole.pm blib/lib/Data/Sah/Compiler/TextResultRole.pm
cp lib/Data/Sah/Compiler/human.pm blib/lib/Data/Sah/Compiler/human.pm
cp lib/Data/Sah/Compiler/js/TH/cistr.pm blib/lib/Data/Sah/Compiler/js/TH/cistr.pm
cp lib/Data/Sah/Compiler/human/TH/Comparable.pm blib/lib/Data/Sah/Compiler/human/TH/Comparable.pm
Manifying 104 pod documents
PERLANCAR/Data-Sah-0.78.tar.gz
make -- OK
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/Users/fly1400/ap1400/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..100
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/buf.pm loaded ok
ok 19 - Data/Sah/Compiler/human/TH/cistr.pm loaded ok
ok 20 - Data/Sah/Compiler/human/TH/code.pm loaded ok
ok 21 - Data/Sah/Compiler/human/TH/date.pm loaded ok
ok 22 - Data/Sah/Compiler/human/TH/duration.pm loaded ok
ok 23 - Data/Sah/Compiler/human/TH/float.pm loaded ok
ok 24 - Data/Sah/Compiler/human/TH/hash.pm loaded ok
ok 25 - Data/Sah/Compiler/human/TH/int.pm loaded ok
ok 26 - Data/Sah/Compiler/human/TH/num.pm loaded ok
ok 27 - Data/Sah/Compiler/human/TH/obj.pm loaded ok
ok 28 - Data/Sah/Compiler/human/TH/re.pm loaded ok
ok 29 - Data/Sah/Compiler/human/TH/str.pm loaded ok
ok 30 - Data/Sah/Compiler/human/TH/undef.pm loaded ok
ok 31 - Data/Sah/Compiler/js.pm loaded ok
ok 32 - Data/Sah/Compiler/js/TH.pm loaded ok
ok 33 - Data/Sah/Compiler/js/TH/all.pm loaded ok
ok 34 - Data/Sah/Compiler/js/TH/any.pm loaded ok
ok 35 - Data/Sah/Compiler/js/TH/array.pm loaded ok
ok 36 - Data/Sah/Compiler/js/TH/bool.pm loaded ok
ok 37 - Data/Sah/Compiler/js/TH/buf.pm loaded ok
ok 38 - Data/Sah/Compiler/js/TH/cistr.pm loaded ok
ok 39 - Data/Sah/Compiler/js/TH/code.pm loaded ok
ok 40 - Data/Sah/Compiler/js/TH/date.pm loaded ok
ok 41 - Data/Sah/Compiler/js/TH/duration.pm loaded ok
ok 42 - Data/Sah/Compiler/js/TH/float.pm loaded ok
ok 43 - Data/Sah/Compiler/js/TH/hash.pm loaded ok
ok 44 - Data/Sah/Compiler/js/TH/int.pm loaded ok
ok 45 - Data/Sah/Compiler/js/TH/num.pm loaded ok
ok 46 - Data/Sah/Compiler/js/TH/obj.pm loaded ok
ok 47 - Data/Sah/Compiler/js/TH/re.pm loaded ok
ok 48 - Data/Sah/Compiler/js/TH/str.pm loaded ok
ok 49 - Data/Sah/Compiler/js/TH/undef.pm loaded ok
ok 50 - Data/Sah/Compiler/perl.pm loaded ok
ok 51 - Data/Sah/Compiler/perl/TH.pm loaded ok
ok 52 - Data/Sah/Compiler/perl/TH/all.pm loaded ok
ok 53 - Data/Sah/Compiler/perl/TH/any.pm loaded ok
ok 54 - Data/Sah/Compiler/perl/TH/array.pm loaded ok
ok 55 - Data/Sah/Compiler/perl/TH/bool.pm loaded ok
ok 56 - Data/Sah/Compiler/perl/TH/buf.pm loaded ok
ok 57 - Data/Sah/Compiler/perl/TH/cistr.pm loaded ok
ok 58 - Data/Sah/Compiler/perl/TH/code.pm loaded ok
ok 59 - Data/Sah/Compiler/perl/TH/date.pm loaded ok
ok 60 - Data/Sah/Compiler/perl/TH/duration.pm loaded ok
ok 61 - Data/Sah/Compiler/perl/TH/float.pm loaded ok
ok 62 - Data/Sah/Compiler/perl/TH/hash.pm loaded ok
ok 63 - Data/Sah/Compiler/perl/TH/int.pm loaded ok
ok 64 - Data/Sah/Compiler/perl/TH/num.pm loaded ok
ok 65 - Data/Sah/Compiler/perl/TH/obj.pm loaded ok
ok 66 - Data/Sah/Compiler/perl/TH/re.pm loaded ok
ok 67 - Data/Sah/Compiler/perl/TH/str.pm loaded ok
ok 68 - Data/Sah/Compiler/perl/TH/undef.pm loaded ok
ok 69 - Data/Sah/Human.pm loaded ok
ok 70 - Data/Sah/JS.pm loaded ok
ok 71 - Data/Sah/Lang.pm loaded ok
ok 72 - Data/Sah/Lang/fr_FR.pm loaded ok
ok 73 - Data/Sah/Lang/id_ID.pm loaded ok
ok 74 - Data/Sah/Lang/zh_CN.pm loaded ok
ok 75 - Data/Sah/Type/BaseType.pm loaded ok
ok 76 - Data/Sah/Type/Comparable.pm loaded ok
ok 77 - Data/Sah/Type/HasElems.pm loaded ok
ok 78 - Data/Sah/Type/Sortable.pm loaded ok
ok 79 - Data/Sah/Type/all.pm loaded ok
ok 80 - Data/Sah/Type/any.pm loaded ok
ok 81 - Data/Sah/Type/array.pm loaded ok
ok 82 - Data/Sah/Type/bool.pm loaded ok
ok 83 - Data/Sah/Type/buf.pm loaded ok
ok 84 - Data/Sah/Type/cistr.pm loaded ok
ok 85 - Data/Sah/Type/code.pm loaded ok
ok 86 - Data/Sah/Type/date.pm loaded ok
ok 87 - Data/Sah/Type/duration.pm loaded ok
ok 88 - Data/Sah/Type/float.pm loaded ok
ok 89 - Data/Sah/Type/hash.pm loaded ok
ok 90 - Data/Sah/Type/int.pm loaded ok
ok 91 - Data/Sah/Type/num.pm loaded ok
ok 92 - Data/Sah/Type/obj.pm loaded ok
ok 93 - Data/Sah/Type/re.pm loaded ok
ok 94 - Data/Sah/Type/str.pm loaded ok
ok 95 - Data/Sah/Type/undef.pm loaded ok
ok 96 - Data/Sah/Util/Func.pm loaded ok
ok 97 - Data/Sah/Util/Role.pm loaded ok
ok 98 - Data/Sah/Util/Type/Date.pm loaded ok
ok 99 - Data/Sah/Util/TypeX.pm loaded ok
ok 100 - Test/Data/Sah.pm loaded ok
ok
t/01-basics.t ............
# Subtest: compile()
# Subtest: on_unhandled_clause option
ok 1 - die (default)
ok 2 - warn
ok 3 - ignore
1..3
ok 1 - on_unhandled_clause option
# Subtest: on_unhandled_attr option
ok 1 - die (default)
ok 2 - warn
ok 3 - ignore
1..3
ok 2 - on_unhandled_attr option
# Subtest: skip_clause option
ok 1 - skip_clause in gen_validator() 1
ok 2 - skip_clause in gen_validator() 2
ok 3 - skip_clause in gen_validator() 3
1..3
ok 3 - skip_clause option
1..3
ok 1 - compile()
1..1
ok
# node.js not available, skipping JS test
t/99-various.t ...........
# Subtest: [2014-01-03 ] req_keys clash between $_ and $dt
# Subtest: perl
ok 1 - [] validates
ok 2 - ['a'] doesn't validate
ok 3 - [{}] doesn't validate
ok 4 - [{b=>1}] doesn't validate
ok 5 - [{a=>1}] validates
1..5
ok 1 - perl
1..1
ok 1 - [2014-01-03 ] req_keys clash between $_ and $dt
1..1
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/human-en_US.t ..........
# Subtest: integer
ok 1 - result
1..1
ok 1 - integer
# Subtest: integer
ok 1 - result
1..1
ok 2 - integer
# Subtest: integer, must be at least 1
ok 1 - result
1..1
ok 3 - integer, must be at least 1
# Subtest: integer, must be at least 1, must be at most 10
ok 1 - result
1..1
ok 4 - integer, must be at least 1, must be at most 10
# Subtest: integer, must be divisible by 2 and 5
ok 1 - result
1..1
ok 5 - integer, must be divisible by 2 and 5
# Subtest: integer, must be divisible by all of [2,3,5]
ok 1 - result
1..1
ok 6 - integer, must be divisible by all of [2,3,5]
# Subtest: integer, must be divisible by 2 or 5
ok 1 - result
1..1
ok 7 - integer, must be divisible by 2 or 5
# Subtest: integer, must be divisible by one of [2,3,5]
ok 1 - result
1..1
ok 8 - integer, must be divisible by one of [2,3,5]
# Subtest: integer, must not be divisible by 5
ok 1 - result
1..1
ok 9 - integer, must not be divisible by 5
# Subtest: array of integers
ok 1 - result
1..1
ok 10 - array of integers
# Subtest: (?^x:array .+ each\sarray\selement\smust\sbe: .+
# integer .+ at\sleast\s1)
ok 1 - result
1..1
ok 11 - (?^x:array .+ each\sarray\selement\smust\sbe: .+
# integer .+ at\sleast\s1)
# Subtest: array, 1st element must be: integer
ok 1 - result
1..1
ok 12 - array, 1st element must be: integer
# Subtest: (?^x:must\sbe\sall\sof\sthe\sfollowing: .+
# integer.+even .+
# integer.+divisible\sby\s5 .+
# )
ok 1 - result
1..1
ok 13 - (?^x:must\sbe\sall\sof\sthe\sfollowing: .+
# integer.+even .+
# integer.+divisible\sby\s5 .+
# )
# Subtest: hash, field f must be: decimal number, field i must be: (integer, must be at least 0)
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 ..........
# Subtest: bilangan bulat
ok 1 - result
1..1
ok 1 - bilangan bulat
# Subtest: larik, elemen ke-1 harus: bilangan bulat
ok 1 - result
1..1
ok 2 - larik, elemen ke-1 harus: bilangan bulat
1..2
ok
t/js-misc.t .............. skipped: node.js is not available
t/js-type-date.t ......... skipped: node.js is not available
t/js-type-duration.t ..... skipped: node.js is not available
t/perl-misc.t ............
ok 1 - data [{ a => [] }, { a => [] }] should pass schema [
# "array",
# { of => ["hash", "keys", { a => ["array", "of", "any"] }] },
# ]
# Subtest: compile option: no_modules
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data 2e-10 should pass schema ["float"]
ok 6 - data "NaN" should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data "Inf" should pass schema ["float"]
ok 9 - data -inf should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data 2e-10 should pass schema ["num"]
ok 14 - data "NaN" should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data "Inf" should pass schema ["num"]
ok 17 - data -inf should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data "NaN" should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data "NaN" should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data inf should pass schema ["float", "is_inf", 1]
ok 24 - data -inf should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data inf should not pass schema ["float", "is_inf", 0]
ok 27 - data -inf should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data inf should pass schema ["float", "is_pos_inf", 1]
ok 30 - data -inf should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data inf should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data -inf should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data inf should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data -inf should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data inf should pass schema ["float", "is_neg_inf", 0]
ok 39 - data -inf should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 2 - compile option: no_modules
# Subtest: compile option: core
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data 2e-10 should pass schema ["float"]
ok 6 - data "NaN" should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data "Inf" should pass schema ["float"]
ok 9 - data -inf should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data 2e-10 should pass schema ["num"]
ok 14 - data "NaN" should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data "Inf" should pass schema ["num"]
ok 17 - data -inf should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data "NaN" should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data "NaN" should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data inf should pass schema ["float", "is_inf", 1]
ok 24 - data -inf should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data inf should not pass schema ["float", "is_inf", 0]
ok 27 - data -inf should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data inf should pass schema ["float", "is_pos_inf", 1]
ok 30 - data -inf should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data inf should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data -inf should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data inf should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data -inf should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data inf should pass schema ["float", "is_neg_inf", 0]
ok 39 - data -inf should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 3 - compile option: core
# Subtest: compile option: core_or_pp
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data 2e-10 should pass schema ["float"]
ok 6 - data "NaN" should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data "Inf" should pass schema ["float"]
ok 9 - data -inf should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data 2e-10 should pass schema ["num"]
ok 14 - data "NaN" should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data "Inf" should pass schema ["num"]
ok 17 - data -inf should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data "NaN" should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data "NaN" should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data inf should pass schema ["float", "is_inf", 1]
ok 24 - data -inf should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data inf should not pass schema ["float", "is_inf", 0]
ok 27 - data -inf should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data inf should pass schema ["float", "is_pos_inf", 1]
ok 30 - data -inf should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data inf should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data -inf should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data inf should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data -inf should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data inf should pass schema ["float", "is_neg_inf", 0]
ok 39 - data -inf should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 4 - compile option: core_or_pp
# Subtest: compile option: pp
ok 1 - data -5 should pass schema ["int"]
ok 2 - data 1.1 should not pass schema ["int"]
ok 3 - data -5 should pass schema ["float"]
ok 4 - data 1.1 should pass schema ["float"]
ok 5 - data 2e-10 should pass schema ["float"]
ok 6 - data "NaN" should pass schema ["float"]
ok 7 - data "NaNx" should not pass schema ["float"]
ok 8 - data "Inf" should pass schema ["float"]
ok 9 - data -inf should pass schema ["float"]
ok 10 - data "info" should not pass schema ["float"]
ok 11 - data -5 should pass schema ["num"]
ok 12 - data 1.1 should pass schema ["num"]
ok 13 - data 2e-10 should pass schema ["num"]
ok 14 - data "NaN" should pass schema ["num"]
ok 15 - data "NaNx" should not pass schema ["num"]
ok 16 - data "Inf" should pass schema ["num"]
ok 17 - data -inf should pass schema ["num"]
ok 18 - data "info" should not pass schema ["num"]
ok 19 - data "NaN" should pass schema ["float", "is_nan", 1]
ok 20 - data -5 should not pass schema ["float", "is_nan", 1]
ok 21 - data "NaN" should not pass schema ["float", "is_nan", 0]
ok 22 - data -5 should pass schema ["float", "is_nan", 0]
ok 23 - data inf should pass schema ["float", "is_inf", 1]
ok 24 - data -inf should pass schema ["float", "is_inf", 1]
ok 25 - data -5 should not pass schema ["float", "is_inf", 1]
ok 26 - data inf should not pass schema ["float", "is_inf", 0]
ok 27 - data -inf should not pass schema ["float", "is_inf", 0]
ok 28 - data -5 should pass schema ["float", "is_inf", 0]
ok 29 - data inf should pass schema ["float", "is_pos_inf", 1]
ok 30 - data -inf should not pass schema ["float", "is_pos_inf", 1]
ok 31 - data -5 should not pass schema ["float", "is_pos_inf", 1]
ok 32 - data inf should not pass schema ["float", "is_pos_inf", 0]
ok 33 - data -inf should pass schema ["float", "is_pos_inf", 0]
ok 34 - data -5 should pass schema ["float", "is_pos_inf", 0]
ok 35 - data inf should not pass schema ["float", "is_neg_inf", 1]
ok 36 - data -inf should pass schema ["float", "is_neg_inf", 1]
ok 37 - data -5 should not pass schema ["float", "is_neg_inf", 1]
ok 38 - data inf should pass schema ["float", "is_neg_inf", 0]
ok 39 - data -inf should not pass schema ["float", "is_neg_inf", 0]
ok 40 - data -5 should pass schema ["float", "is_neg_inf", 0]
1..40
ok 5 - compile option: pp
1..5
ok
t/perl-type-bool.t .......
ok 1 - data "" should pass schema ["bool*", "is_true", 0]
ok 2 - data "a" should pass schema ["bool*", "is_true", 1]
ok 3 - data 0.1 should pass schema ["bool*", "is_true", 1]
1..3
ok
t/perl-type-code.t .......
ok 1 - data "a" should not pass schema ["code"]
ok 2 - data sub { ... } should pass schema ["code"]
1..2
ok
t/perl-type-date.t .......
ok 1 - data "2014-01-25" should pass schema ["date"]
ok 2 - data "2014-01-25T23:59:59Z" should pass schema ["date"]
ok 3 - data "2014-02-30" should not pass schema ["date"]
ok 4 - data "2014-01-25T23:59:70Z" should not pass schema ["date"]
ok 5 - data "x" should not pass schema ["date"]
ok 6 - data 100000000 should pass schema ["date"]
ok 7 - data 100000 should pass schema ["date"]
ok 8 - data bless({
# formatter => undef,
# local_c => {
# day => 26,
# day_of_quarter => 56,
# day_of_week => 4,
# day_of_year => 147,
# hour => 12,
# minute => 3,
# month => 5,
# quarter => 2,
# second => 27,
# year => 2016,
# },
# local_rd_days => 736110,
# local_rd_secs => 43407,
# locale => bless({
# am_pm_abbreviated => ["AM", "PM"],
# available_formats => {
# d => "d",
# E => "ccc",
# Ed => "d E",
# Ehm => "E h:mm a",
# EHm => "E HH:mm",
# Ehms => "E h:mm:ss a",
# EHms => "E HH:mm:ss",
# Gy => "y G",
# GyMMM => "MMM y G",
# GyMMMd => "MMM d, y G",
# GyMMMEd => "E, MMM d, y G",
# H => "HH",
# h => "h a",
# hm => "h:mm a",
# Hm => "HH:mm",
# hms => "h:mm:ss a",
# Hms => "HH:mm:ss",
# Hmsv => "HH:mm:ss v",
# hmsv => "h:mm:ss a v",
# Hmv => "HH:mm v",
# hmv => "h:mm a v",
# M => "L",
# Md => "M/d",
# MEd => "E, M/d",
# MMM => "LLL",
# MMMd => "MMM d",
# MMMEd => "E, MMM d",
# MMMMd => "MMMM d",
# ms => "mm:ss",
# y => "y",
# yM => "M/y",
# yMd => "M/d/y",
# yMEd => "E, M/d/y",
# yMMM => "MMM y",
# yMMMd => "MMM d, y",
# yMMMEd => "E, MMM d, y",
# yMMMM => "MMMM y",
# yQQQ => "QQQ y",
# yQQQQ => "QQQQ y",
# },
# code => "en-US",
# date_format_full => "EEEE, MMMM d, y",
# date_format_long => "MMMM d, y",
# date_format_medium => "MMM d, y",
# date_format_short => "M/d/yy",
# datetime_format_full => "{1} 'at' {0}",
# datetime_format_long => "{1} 'at' {0}",
# datetime_format_medium => "{1}, {0}",
# datetime_format_short => "{1}, {0}",
# day_format_abbreviated => ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
# day_format_narrow => ["M", "T", "W", "T", "F", "S", "S"],
# day_format_wide => [
# "Monday",
# "Tuesday",
# "Wednesday",
# "Thursday",
# "Friday",
# "Saturday",
# "Sunday",
# ],
# day_stand_alone_abbreviated => ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
# day_stand_alone_narrow => ["M", "T", "W", "T", "F", "S", "S"],
# day_stand_alone_wide => [
# "Monday",
# "Tuesday",
# "Wednesday",
# "Thursday",
# "Friday",
# "Saturday",
# "Sunday",
# ],
# default_date_format_length => "medium",
# default_time_format_length => "medium",
# era_abbreviated => ["BC", "AD"],
# era_narrow => ["B", "A"],
# era_wide => ["Before Christ", "Anno Domini"],
# first_day_of_week => 7,
# glibc_date_1_format => "%a %b %e %H:%M:%S %Z %Y",
# glibc_date_format => "%m/%d/%Y",
# glibc_datetime_format => "%a %d %b %Y %r %Z",
# glibc_time_12_format => "%I:%M:%S %p",
# glibc_time_format => "%r",
# language => "English",
# month_format_abbreviated => [
# "Jan",
# "Feb",
# "Mar",
# "Apr",
# "May",
# "Jun",
# "Jul",
# "Aug",
# "Sep",
# "Oct",
# "Nov",
# "Dec",
# ],
# month_format_narrow => ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
# month_format_wide => [
# "January",
# "February",
# "March",
# "April",
# "May",
# "June",
# "July",
# "August",
# "September",
# "October",
# "November",
# "December",
# ],
# month_stand_alone_abbreviated => [
# "Jan",
# "Feb",
# "Mar",
# "Apr",
# "May",
# "Jun",
# "Jul",
# "Aug",
# "Sep",
# "Oct",
# "Nov",
# "Dec",
# ],
# month_stand_alone_narrow => ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
# month_stand_alone_wide => [
# "January",
# "February",
# "March",
# "April",
# "May",
# "June",
# "July",
# "August",
# "September",
# "October",
# "November",
# "December",
# ],
# name => "English United States",
# native_language => "English",
# native_name => "English United States",
# native_script => undef,
# native_territory => "United States",
# native_variant => undef,
# quarter_format_abbreviated => ["Q1" .. "Q4"],
# quarter_format_narrow => [1 .. 4],
# quarter_format_wide => ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
# quarter_stand_alone_abbreviated => ["Q1" .. "Q4"],
# quarter_stand_alone_narrow => [1 .. 4],
# quarter_stand_alone_wide => ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
# script => undef,
# territory => "United States",
# time_format_full => "h:mm:ss a zzzz",
# time_format_long => "h:mm:ss a z",
# time_format_medium => "h:mm:ss a",
# time_format_short => "h:mm a",
# variant => undef,
# version => 29,
# }, "DateTime::Locale::FromData"),
# offset_modifier => 0,
# rd_nanosecs => 0,
# tz => bless({ name => "UTC" }, "DateTime::TimeZone::UTC"),
# utc_c => { epoch => 1464264207 },
# utc_rd_days => 736110,
# utc_rd_secs => 43407,
# utc_year => 2017,
# }, "DateTime") should pass schema ["date"]
1..8
ok
t/perl-type-duration.t ...
ok 1 - data "P1Y2M" should pass schema ["duration"]
ok 2 - data "2 days 13 hours" should pass schema ["duration"]
ok 3 - data "2 xxx" should not pass schema ["duration"]
ok 4 - data 1 should pass schema ["duration"]
ok 5 - data 864000 should pass schema ["duration"]
ok 6 - data "x" should not pass schema ["duration"]
ok 7 - data "1Y2M" should not pass schema ["duration"]
ok 8 - data bless({
# days => 0,
# end_of_month => "wrap",
# minutes => 0,
# months => 14,
# nanoseconds => 0,
# seconds => 0,
# }, "DateTime::Duration") should pass schema ["duration"]
1..8
ok
t/perl-type-float.t ......
ok 1 - data 1 should not pass schema ["float", "is_nan", 1]
ok 2 - data "Inf" should not pass schema ["float", "is_nan", 1]
ok 3 - data "NaN" should pass schema ["float", "is_nan", 1]
ok 4 - data 1 should not pass schema ["float", "is_inf", 1]
ok 5 - data "NaN" should not pass schema ["float", "is_inf", 1]
ok 6 - data "-Inf" should pass schema ["float", "is_inf", 1]
ok 7 - data "Inf" should pass schema ["float", "is_inf", 1]
ok 8 - data 1 should not pass schema ["float", "is_pos_inf", 1]
ok 9 - data "NaN" should not pass schema ["float", "is_pos_inf", 1]
ok 10 - data "-Inf" should not pass schema ["float", "is_pos_inf", 1]
ok 11 - data "Inf" should pass schema ["float", "is_pos_inf", 1]
ok 12 - data 1 should not pass schema ["float", "is_neg_inf", 1]
ok 13 - data "NaN" should not pass schema ["float", "is_neg_inf", 1]
ok 14 - data "-Inf" should pass schema ["float", "is_neg_inf", 1]
ok 15 - data "Inf" should not pass schema ["float", "is_neg_inf", 1]
1..15
ok
t/perl-type-obj.t ........
ok 1 - data "" should not pass schema ["obj*"]
ok 2 - data [] should not pass schema ["obj*"]
ok 3 - data {} should not pass schema ["obj*"]
ok 4 - data bless({}, "Data::Sah") should pass schema ["obj*"]
ok 5 - data bless({}, "Data::Sah") should pass schema ["obj*", "isa", "Exporter"]
ok 6 - data bless({}, "Data::Sah") should not pass schema ["obj*", "isa", "Foo"]
ok 7 - data bless({}, "Data::Sah") should pass schema ["obj*", "!isa", "Foo"]
ok 8 - data bless({}, "Data::Sah") should pass schema ["obj*", "can", "get_compiler"]
ok 9 - data bless({}, "Data::Sah") should pass schema ["obj*", "can&", ["get_compiler", "gen_validator"]]
ok 10 - data bless({}, "Data::Sah") should not pass schema ["obj*", "can&", ["get_compiler", "foo"]]
ok 11 - data bless({}, "Data::Sah") should pass schema ["obj*", "can|", ["get_compiler", "foo"]]
1..11
ok
t/perl-type-re.t .........
ok 1 - data "" should pass schema ["re*"]
ok 2 - data "x" should pass schema ["re*"]
ok 3 - data qr// should pass schema ["re*"]
ok 4 - data "(" should not pass schema ["re*"]
ok 5 - data [] should not pass schema ["re*"]
ok 6 - data {} should not pass schema ["re*"]
1..6
ok
t/perl-type-str.t ........
ok 1 - data "a" should not pass schema ["str*", "match", qr|/|]
ok 2 - data "a/" should pass schema ["str*", "match", qr|/|]
1..2
ok
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 ...
# Skipping test (tags=clause:check_each_index, type, type:array) array0115: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:array) array0116: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:array) array0117: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:array) array0118: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:array) array0119: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:array) array0120: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:array) array0127: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:array) array0128: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:array) array0129: prop:elems: properties are not yet implemented
# Loading 10-type-bool.json ...
# Skipping test (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0113: !between (nok): currently failing
# Skipping test (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0114: !between (ok): currently failing
# Skipping test (tags=clause:between, op, op:not, type, type:bool) bool0115: between.op=not (nok): currently failing
# Skipping test (tags=clause:between, op, op:not, type, type:bool) bool0116: between.op=not (ok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0117: between& (no items): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0118: between& (ok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0119: between& (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0120: between& (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0121: between& (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0123: between.op=and (ok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0124: between.op=and (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0125: between.op=and (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:and, type, type:bool) bool0126: between.op=and (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0127: between| (no items): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0128: between| (ok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0129: between| (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0130: between| (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0131: between| (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0132: between.op=or (no items): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0133: between.op=or (ok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0134: between.op=or (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0135: between.op=or (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:or, type, type:bool) bool0136: between.op=or (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0137: between.op=none (empty items): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0138: between.op=none (nok + nok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0139: between.op=none (nok + ok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0140: between.op=none (ok + nok): currently failing
# Skipping test (tags=clause:between, op, op:none, type, type:bool) bool0141: between.op=none (ok + ok): currently failing
# Loading 10-type-buf.json ...
# Skipping test (tags=clause:check_each_index, type, type:buf) buf0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:buf) buf0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:buf) buf0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:buf) buf0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:buf) buf0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:buf) buf0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:buf) buf0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:buf) buf0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:buf) buf0176: prop:elems: properties are not yet implemented
# Loading 10-type-cistr.json ...
# Skipping test (tags=clause:check_each_index, type, type:cistr) cistr0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:cistr) cistr0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:cistr) cistr0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:cistr) cistr0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:cistr) cistr0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:cistr) cistr0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:cistr) cistr0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:cistr) cistr0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:cistr) cistr0176: prop:elems: properties are not yet implemented
# Loading 10-type-float.json ...
# Loading 10-type-hash.json ...
# Skipping test (tags=clause:check_each_index, type, type:hash) hash0119: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_key, type, type:hash) hash0120: check_each_key: clause check_each_key not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:hash) hash0121: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:check_each_value, type, type:hash) hash0122: check_each_value: clause check_each_value not yet implemented
# Skipping test (tags=clause:uniq, type, type:hash) hash0123: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:hash) hash0124: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:hash) hash0125: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:hash) hash0126: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:hash) hash0131: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:hash) hash0132: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:keys, type, type:hash) hash0133: prop:keys: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:hash) hash0134: prop:elems: properties are not yet implemented
# Skipping test (tags=prop:values, type, type:hash) hash0135: prop:values: properties are not yet implemented
# Skipping test (tags=prop:keys, type, type:hash) hash0214: prop:keys: properties are not yet implemented
# Skipping test (tags=prop:values, type, type:hash) hash0215: prop:values: properties are not yet implemented
# Loading 10-type-int.json ...
# Loading 10-type-num.json ...
# Loading 10-type-obj.json ...
# Skipping test (tags=prop:meths, type, type:obj) obj0003: prop:meths (nok): properties are not yet implemented
# Skipping test (tags=prop:attrs, type, type:obj) obj0004: prop:attrs (nok): properties are not yet implemented
# Loading 10-type-str.json ...
# Skipping test (tags=clause:check_each_index, type, type:str) str0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:str) str0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:str) str0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:str) str0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:str) str0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:str) str0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:str) str0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:str) str0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:str) str0176: prop:elems: properties are not yet implemented
# Loading 10-type-undef.json ...
t/spectest-perl.t ........
# Subtest: 00-normalize_schema.json
# Subtest: schema must be defined
ok 1 - dies
1..1
ok 1 - schema must be defined
# Subtest: string: type name must not be blank
ok 1 - dies
1..1
ok 2 - string: type name must not be blank
# Subtest: string: type name must be valid (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 3 - string: type name must be valid (ok)
# Subtest: string: type name must be valid (ok, has namespace)
ok 1 - result
ok 2 - doesn't die
1..2
ok 4 - string: type name must be valid (ok, has namespace)
# Subtest: string: type name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 5 - string: type name must be valid (fail, has whitespace)
# Subtest: string: type name must be valid (fail, starts with number)
ok 1 - dies
1..1
ok 6 - string: type name must be valid (fail, starts with number)
# Subtest: string: * suffix is allowed and normalized to req clause
ok 1 - result
ok 2 - doesn't die
1..2
ok 7 - string: * suffix is allowed and normalized to req clause
# Subtest: string: multiple * suffix is not allowed
ok 1 - dies
1..1
ok 8 - string: multiple * suffix is not allowed
# Subtest: array: must not be empty
ok 1 - dies
1..1
ok 9 - array: must not be empty
# Subtest: array: type name must be valid (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 10 - array: type name must be valid (ok)
# Subtest: array: type name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 11 - array: type name must be valid (fail, has whitespace)
# Subtest: array: * suffix is allowed and normalized to req clause
ok 1 - result
ok 2 - doesn't die
1..2
ok 12 - array: * suffix is allowed and normalized to req clause
# Subtest: array: clause set must be hash (ok, empty)
ok 1 - result
ok 2 - doesn't die
1..2
ok 13 - array: clause set must be hash (ok, empty)
# Subtest: array: clause set must be hash (ok, has some clauses)
ok 1 - result
ok 2 - doesn't die
1..2
ok 14 - array: clause set must be hash (ok, has some clauses)
# Subtest: array: clause set must be hash (fail, string)
ok 1 - dies
1..1
ok 15 - array: clause set must be hash (fail, string)
# Subtest: array: clause set must be hash (fail, array)
ok 1 - dies
1..1
ok 16 - array: clause set must be hash (fail, array)
# Subtest: array: clause name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 17 - array: clause name must be valid (fail, has whitespace)
# Subtest: array: clause name must be valid (fail, starts with number)
ok 1 - dies
1..1
ok 18 - array: clause name must be valid (fail, starts with number)
# Subtest: array: * suffix is allowed and normalized to req clause (2-element-array schema)
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)
# Subtest: array: * suffix is allowed and normalized to req clause (overrides existing req clause)
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)
# Subtest: array: clause attribute name must be valid (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 21 - array: clause attribute name must be valid (ok)
# Subtest: array: clause attribute name must be valid (fail, has whitespace)
ok 1 - dies
1..1
ok 22 - array: clause attribute name must be valid (fail, has whitespace)
# Subtest: array: setting attribute on clause "" is permitted
ok 1 - result
ok 2 - doesn't die
1..2
ok 23 - array: setting attribute on clause "" is permitted
# Subtest: array: setting value attribute on clause "" using syntax "" is not permitted
ok 1 - dies
1..1
ok 24 - array: setting value attribute on clause "" using syntax "" is not permitted
# Subtest: array: flattened clause set is permitted
ok 1 - result
ok 2 - doesn't die
1..2
ok 25 - array: flattened clause set is permitted
# Subtest: array: flattened clause set is permitted (with * suffix)
ok 1 - result
ok 2 - doesn't die
1..2
ok 26 - array: flattened clause set is permitted (with * suffix)
# Subtest: array: flattened clause set is permitted (fail, odd number of elements)
ok 1 - dies
1..1
ok 27 - array: flattened clause set is permitted (fail, odd number of elements)
# Subtest: array: expression (clause=) is allowed on clause and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 28 - array: expression (clause=) is allowed on clause and normalized
# Subtest: array: expression (clause=) is allowed on clause.attr and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 29 - array: expression (clause=) is allowed on clause.attr and normalized
# Subtest: array: expression (clause=) must not conflict with literal value (fail)
ok 1 - dies
1..1
ok 30 - array: expression (clause=) must not conflict with literal value (fail)
# Subtest: array: expression (clause.attr=) 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)
# Subtest: array: !clause is normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 32 - array: !clause is normalized
# Subtest: array: !clause.attr is not allowed
ok 1 - dies
1..1
ok 33 - array: !clause.attr is not allowed
# Subtest: array: clause| is normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 34 - array: clause| is normalized
# Subtest: array: clause.attr| is not allowed
ok 1 - dies
1..1
ok 35 - array: clause.attr| is not allowed
# Subtest: array: clause| value must be array (fail, not array)
ok 1 - dies
1..1
ok 36 - array: clause| value must be array (fail, not array)
# Subtest: array: clause& is normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 37 - array: clause& is normalized
# Subtest: array: clause.attr& is not allowed
ok 1 - dies
1..1
ok 38 - array: clause.attr& is not allowed
# Subtest: array: clause& value must be array (fail, not array)
ok 1 - dies
1..1
ok 39 - array: clause& value must be array (fail, not array)
# Subtest: array: !clause cannot be mixed with merge prefix
ok 1 - dies
1..1
ok 40 - array: !clause cannot be mixed with merge prefix
# Subtest: array: !clause cannot be mixed with expression
ok 1 - dies
1..1
ok 41 - array: !clause cannot be mixed with expression
# Subtest: array: clause| cannot be mixed with merge prefix
ok 1 - dies
1..1
ok 42 - array: clause| cannot be mixed with merge prefix
# Subtest: array: clause| cannot be mixed with expression
ok 1 - dies
1..1
ok 43 - array: clause| cannot be mixed with expression
# Subtest: array: clause& cannot be mixed with merge prefix
ok 1 - dies
1..1
ok 44 - array: clause& cannot be mixed with merge prefix
# Subtest: array: clause& cannot be mixed with expression
ok 1 - dies
1..1
ok 45 - array: clause& cannot be mixed with expression
# Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c)
ok 1 - dies
1..1
ok 46 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c)
# Subtest: 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|)
# Subtest: 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&)
# Subtest: 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|)
# Subtest: 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&)
# Subtest: 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&)
# Subtest: array: merge prefix in clause is allowed
ok 1 - result
ok 2 - doesn't die
1..2
ok 52 - array: merge prefix in clause is allowed
# Subtest: array: clause(LANG) shortcut is allowed and normalized
ok 1 - result
ok 2 - doesn't die
1..2
ok 53 - array: clause(LANG) shortcut is allowed and normalized
# Subtest: array: clause.attr(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
# Subtest: array: clause(LANG) shortcut must not conflict with existing attribute
ok 1 - dies
1..1
ok 55 - array: clause(LANG) shortcut must not conflict with existing attribute
# Subtest: array: invalid clause(LANG) shortcut is not allowed (1)
ok 1 - dies
1..1
ok 56 - array: invalid clause(LANG) shortcut is not allowed (1)
# Subtest: array: invalid clause(LANG) shortcut is not allowed (2)
ok 1 - dies
1..1
ok 57 - array: invalid clause(LANG) shortcut is not allowed (2)
# Subtest: array: extras must be hash (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 58 - array: extras must be hash (ok)
# Subtest: array: extras must be hash (fail, not hash)
ok 1 - dies
1..1
ok 59 - array: extras must be hash (fail, not hash)
# Subtest: array: def in extras must be hash (ok)
ok 1 - result
ok 2 - doesn't die
1..2
ok 60 - array: def in extras must be hash (ok)
# Subtest: array: def in extras must be hash (fail)
ok 1 - dies
1..1
ok 61 - array: def in extras must be hash (fail)
# Subtest: array: extra elements are not permitted
ok 1 - dies
1..1
ok 62 - array: extra elements are not permitted
# Subtest: hash form (old DS syntax) is no longer recognized
ok 1 - dies
1..1
ok 63 - hash form (old DS syntax) is no longer recognized
ok 64
1..64
ok 1 - 00-normalize_schema.json
# Subtest: 01-merge_clause_sets.json
# Subtest: no clause sets results in nothing done
ok 1 - result
ok 2 - doesn't die
1..2
ok 1 - no clause sets results in nothing done
# Subtest: a single clause set results in nothing done
ok 1 - result
ok 2 - doesn't die
1..2
ok 2 - a single clause set results in nothing done
# Subtest: no merge prefixes results in appending clause sets
ok 1 - result
ok 2 - doesn't die
1..2
ok 3 - no merge prefixes results in appending clause sets
# Subtest: normal mode merging replaces clauses on the left
ok 1 - result
ok 2 - doesn't die
1..2
ok 4 - normal mode merging replaces clauses on the left
# Subtest: additive mode merging adds values (array)
ok 1 - result
ok 2 - doesn't die
1..2
ok 5 - additive mode merging adds values (array)
# Subtest: concative mode merging concatenates values (string)
ok 1 - result
ok 2 - doesn't die
1..2
ok 6 - concative mode merging concatenates values (string)
# Subtest: subtractive mode merging concatenates values (int)
ok 1 - result
ok 2 - doesn't die
1..2
ok 7 - subtractive mode merging concatenates values (int)
# Subtest: delete mode merging deletes values
ok 1 - result
ok 2 - doesn't die
1..2
ok 8 - delete mode merging deletes values
# Subtest: keep mode prevents overriding of values
ok 1 - result
ok 2 - doesn't die
1..2
ok 9 - keep mode prevents overriding of values
ok 10
1..10
ok 2 - 01-merge_clause_sets.json
# Subtest: 10-type-all.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 3,
# 'name' => 'all0001: of (nok + nok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:all) all0001: of (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:all) all0001: of (nok + nok)
# {
# 'input' => 2,
# 'name' => 'all0002: of (ok + nok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:all) all0002: of (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:all) all0002: of (ok + nok)
# {
# 'input' => 5,
# 'name' => 'all0003: of (nok + ok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:all) all0003: of (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:all) all0003: of (nok + ok)
# {
# 'input' => 10,
# 'name' => 'all0004: of (ok + ok)',
# 'schema' => [
# 'all',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:all'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:all) all0004: of (ok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:all) all0004: of (ok + ok)
ok 5
1..5
ok 3 - 10-type-all.json
# Subtest: 10-type-any.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 3,
# 'name' => 'any0001: of (nok + nok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:any) any0001: of (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:any) any0001: of (nok + nok)
# {
# 'errors' => 2,
# 'input' => [
# []
# ],
# 'name' => 'any0002: of (nok + nok 2)',
# 'schema' => [
# 'any',
# 'of',
# [
# 'str',
# [
# 'array',
# 'of',
# 'str'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:any) any0002: of (nok + nok 2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:any) any0002: of (nok + nok 2)
# {
# 'input' => 2,
# 'name' => 'any0003: of (ok + nok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:any) any0003: of (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:any) any0003: of (ok + nok)
# {
# 'input' => 5,
# 'name' => 'any0004: of (nok + ok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:any) any0004: of (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:any) any0004: of (nok + ok)
# {
# 'input' => 10,
# 'name' => 'any0005: of (ok + ok)',
# 'schema' => [
# 'any',
# 'of',
# [
# [
# 'int',
# 'div_by',
# 2
# ],
# [
# 'int',
# 'div_by',
# 5
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:any'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:any) any0005: of (ok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:any) any0005: of (ok + ok)
ok 6
1..6
ok 4 - 10-type-any.json
# Subtest: 10-type-array.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => [],
# 'name' => 'array0001: type check: must accept []',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0001: type check: must accept []
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0001: type check: must accept []
# {
# 'input' => [
# 1,
# 'a'
# ],
# 'name' => 'array0002: type check: must accept [1,"a"]',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0002: type check: must accept [1,"a"]
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0002: type check: must accept [1,"a"]
# {
# 'input' => [
# []
# ],
# 'name' => 'array0003: type check: must accept [[]]',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0003: type check: must accept [[]]
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0003: type check: must accept [[]]
# {
# 'input' => 1,
# 'name' => 'array0004: type check: must reject 1',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:array) array0004: type check: must reject 1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:array) array0004: type check: must reject 1
# {
# 'input' => 'a',
# 'name' => 'array0005: type check: must reject a',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:array) array0005: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:array) array0005: type check: must reject a
# {
# 'input' => {},
# 'name' => 'array0006: type check: must reject {}',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:array) array0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:array) array0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'array0007: must accept undefined value',
# 'schema' => 'array',
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'array0008: defhash_v',
# 'schema' => [
# 'array',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:array) array0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:array) array0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'array0009: v',
# 'schema' => [
# 'array',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:array) array0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:array) array0009: v
# {
# 'input' => undef,
# 'name' => 'array0010: c',
# 'schema' => [
# 'array',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:array) array0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:array) array0010: c
# {
# 'input' => undef,
# 'name' => 'array0011: default_lang',
# 'schema' => [
# 'array',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:array) array0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:array) array0011: default_lang
# {
# 'input' => undef,
# 'name' => 'array0012: name',
# 'schema' => [
# 'array',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:array) array0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:array) array0012: name
# {
# 'input' => undef,
# 'name' => 'array0013: summary',
# 'schema' => [
# 'array',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:array) array0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:array) array0013: summary
# {
# 'input' => undef,
# 'name' => 'array0014: description',
# 'schema' => [
# 'array',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:array) array0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:array) array0014: description
# {
# 'input' => undef,
# 'name' => 'array0015: tags',
# 'schema' => [
# 'array',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:array) array0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:array) array0015: tags
# {
# 'input' => undef,
# 'name' => 'array0016: req=0 must accept undefined value',
# 'schema' => [
# 'array',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:array) array0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:array) array0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'array0017: req=1 must reject undefined value',
# 'schema' => [
# 'array',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:array) array0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:array) array0017: req=1 must reject undefined value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'array',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:array) array0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:array) array0018: forbidden=0 must accept defined value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'array',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:array) array0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:array) array0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'array0020: default: must accept valid default []',
# 'schema' => [
# 'array*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:array) array0020: default: must accept valid default []
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:array) array0020: default: must accept valid default []
# {
# 'input' => undef,
# 'name' => 'array0021: default: must reject invalid default a',
# 'schema' => [
# 'array*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:array) array0021: default: must reject invalid default a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:array) array0021: default: must reject invalid default a
# {
# 'dies' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0022: clause (dies, unknown clause)',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:array) array0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:array) array0022: clause (dies, unknown clause)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0023: clause (ok)',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'min_len',
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:array) array0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clause, type, type:array) array0023: clause (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'min_len',
# 0
# ],
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:array) array0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:array) array0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0025: clause (nok)',
# 'schema' => [
# 'array*',
# 'clause',
# [
# 'min_len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:array) array0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:array) array0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0026: clset (dies, unknown clause)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:array) array0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:array) array0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0027: clset (dies, unknown attr)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:array) array0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:array) array0027: clset (dies, unknown attr)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0028: clset (empty = ok)',
# 'schema' => [
# 'array*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0028: clset (empty = ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:array) array0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:array) array0029: clset (ignored clause/attr = ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0030: clset (ok + ok = ok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:array) array0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:array) array0030: clset (ok + ok = ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'min_len' => 0
# },
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:array) array0031: clset (ok) + clause nok = nok
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0032: clset (ok + nok = nok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:array) array0032: clset (ok + nok = nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0033: clset (nok + ok = nok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:array) array0033: clset (nok + ok = nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0034: clset (nok + nok = nok)',
# 'schema' => [
# 'array*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:array) array0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:array) array0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'array0035: ok',
# 'schema' => [
# 'array',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:array) array0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:array) array0035: ok
# {
# 'input' => undef,
# 'name' => 'array0036: ok + op not (nok)',
# 'schema' => [
# 'array',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:array) array0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:array) array0036: ok + op not (nok)
# {
# 'input' => [],
# 'name' => 'array0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'array',
# 'is',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:array) array0037: .err_level=error (clause=is, ok)
# {
# 'input' => [
# 0
# ],
# 'name' => 'array0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'array',
# 'is',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:array) array0038: .err_level=error (clause=is, nok)
# {
# 'input' => [],
# 'name' => 'array0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:array) array0039: .err_level=warn (clause=is, ok)
# {
# 'input' => [
# 0
# ],
# 'name' => 'array0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'array*',
# 'is',
# [],
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:array) array0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:array) array0040: .err_level=warn (clause=is, nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0041: is: must accept same value',
# 'schema' => [
# 'array',
# 'is',
# [
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:array) array0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:array) array0041: is: must accept same value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0042: is: must reject different value',
# 'schema' => [
# 'array',
# 'is',
# [
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:array) array0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:array) array0042: is: must reject different value
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0043: !is (nok)',
# 'schema' => [
# 'array',
# '!is',
# [
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:array) array0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0043: !is (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0044: !is (ok)',
# 'schema' => [
# 'array',
# '!is',
# [
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:array) array0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0044: !is (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0045: is.op=not (nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# 1
# ],
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:array) array0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:array) array0045: is.op=not (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0046: is.op=not (ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# 2
# ],
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:array) array0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:array) array0046: is.op=not (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0047: is& (no items)',
# 'schema' => [
# 'array',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0047: is& (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0048: is& (ok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 1
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0049: is& (nok + ok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 2
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0050: is& (ok + nok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0051: is& (nok + nok)',
# 'schema' => [
# 'array',
# 'is&',
# [
# [
# 2
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) array0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0051: is& (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0052: is.op=and (no items)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0052: is.op=and (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0053: is.op=and (ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:array) array0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0054: is.op=and (nok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:array) array0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0055: is.op=and (ok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:array) array0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0056: is.op=and (nok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:array) array0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:array) array0056: is.op=and (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0057: is| (no items)',
# 'schema' => [
# 'array',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0057: is| (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0058: is| (ok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 1
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0058: is| (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0059: is| (nok + ok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 2
# ],
# [
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0059: is| (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0060: is| (ok + nok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0061: is| (nok + nok)',
# 'schema' => [
# 'array',
# 'is|',
# [
# [
# 2
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) array0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0061: is| (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0062: is.op=or (no items)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:array) array0062: is.op=or (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0063: is.op=or (ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:array) array0063: is.op=or (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0064: is.op=or (nok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:array) array0064: is.op=or (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0065: is.op=or (ok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:array) array0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0066: is.op=or (nok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:array) array0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:array) array0066: is.op=or (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0067: is.op=none (empty items)',
# 'schema' => [
# 'array',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:array) array0067: is.op=none (empty items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0068: is.op=none (nok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:array) array0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0069: is.op=none (nok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 2
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:array) array0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0070: is.op=none (ok + nok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:array) array0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0071: is.op=none (ok + ok)',
# 'schema' => [
# 'array',
# 'is',
# [
# [
# 1
# ],
# [
# 1
# ]
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:array) array0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:array) array0071: is.op=none (ok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0072: in: must accept valid choices',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:array) array0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:array) array0072: in: must accept valid choices
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0073: in: must reject empty choices',
# 'schema' => [
# 'array',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:array) array0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:array) array0073: in: must reject empty choices
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0074: !in (nok)',
# 'schema' => [
# 'array',
# '!in',
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:array) array0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0074: !in (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0075: !in (ok)',
# 'schema' => [
# 'array',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:array) array0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0075: !in (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0076: in.op=not (nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:array) array0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:array) array0076: in.op=not (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0077: in.op=not (ok)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:array) array0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:array) array0077: in.op=not (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0078: in& (no items)',
# 'schema' => [
# 'array',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0078: in& (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0079: in& (ok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0080: in& (nok + ok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0081: in& (ok + nok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0082: in& (nok + nok)',
# 'schema' => [
# 'array',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) array0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0082: in& (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0083: in.op=and (no items)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:array) array0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:array) array0083: in.op=and (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0084: in.op=and (ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:array) array0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0085: in.op=and (nok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:array) array0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0086: in.op=and (ok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:array) array0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0087: in.op=and (nok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:array) array0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:array) array0087: in.op=and (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0088: in| (no items)',
# 'schema' => [
# 'array',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0088: in| (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0089: in| (ok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0089: in| (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0090: in| (nok + ok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0090: in| (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0091: in| (ok + nok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0092: in| (nok + nok)',
# 'schema' => [
# 'array',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) array0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0092: in| (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0093: in.op=or (no items)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:array) array0093: in.op=or (no items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0094: in.op=or (ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:array) array0094: in.op=or (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0095: in.op=or (nok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:array) array0095: in.op=or (nok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0096: in.op=or (ok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:array) array0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0097: in.op=or (nok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:array) array0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:array) array0097: in.op=or (nok + nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0098: in.op=none (empty items)',
# 'schema' => [
# 'array',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:array) array0098: in.op=none (empty items)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0099: in.op=none (nok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:array) array0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0100: in.op=none (nok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:array) array0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0101: in.op=none (ok + nok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:array) array0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => [
# 1
# ],
# 'name' => 'array0102: in.op=none (ok + ok)',
# 'schema' => [
# 'array',
# 'in',
# [
# [
# [
# 1
# ],
# [
# 2
# ]
# ],
# [
# [
# 1
# ],
# [
# 2
# ]
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:array) array0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:array) array0102: in.op=none (ok + ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0103: len (ok)',
# 'schema' => [
# 'array',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:array) array0103: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:len, type, type:array) array0103: len (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0104: len (nok)',
# 'schema' => [
# 'array',
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:array) array0104: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:len, type, type:array) array0104: len (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0105: min_len (ok)',
# 'schema' => [
# 'array',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:array) array0105: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min_len, type, type:array) array0105: min_len (ok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0106: min_len (nok)',
# 'schema' => [
# 'array',
# 'min_len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:array) array0106: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min_len, type, type:array) array0106: min_len (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0107: max_len (ok)',
# 'schema' => [
# 'array',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:array) array0107: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max_len, type, type:array) array0107: max_len (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0108: max_len (nok)',
# 'schema' => [
# 'array',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:array) array0108: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max_len, type, type:array) array0108: max_len (nok)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0109: len_between (ok)',
# 'schema' => [
# 'array',
# 'len_between',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:array) array0109: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:len_between, type, type:array) array0109: len_between (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0110: len_between (nok)',
# 'schema' => [
# 'array',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:array) array0110: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:len_between, type, type:array) array0110: len_between (nok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0111: each_index (ok)',
# 'schema' => [
# 'array',
# 'each_index',
# [
# 'int',
# 'max',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:array) array0111: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:each_index, type, type:array) array0111: each_index (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0112: each_index (nok)',
# 'schema' => [
# 'array',
# 'each_index',
# [
# 'int',
# 'xmax',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:array) array0112: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:each_index, type, type:array) array0112: each_index (nok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0113: each_elem (ok)',
# 'schema' => [
# 'array',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:array) array0113: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:each_elem, type, type:array) array0113: each_elem (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0114: each_elem (nok)',
# 'schema' => [
# 'array',
# 'each_elem',
# 'int'
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:array) array0114: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:each_elem, type, type:array) array0114: each_elem (nok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0121: elems (ok)',
# 'schema' => [
# 'array',
# 'elems',
# [
# 'int',
# 'float'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0121: elems (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:elems, type, type:array) array0121: elems (ok)
# {
# 'input' => [
# 1,
# '1.2'
# ],
# 'name' => 'array0122: elems (nok)',
# 'schema' => [
# 'array',
# 'elems',
# [
# 'int',
# 'int'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:elems, type, type:array) array0122: elems (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:elems, type, type:array) array0122: elems (nok)
# {
# 'invalid_inputs' => [
# [],
# [
# 3
# ]
# ],
# 'name' => 'array0123: has',
# 'schema' => [
# 'array',
# 'has',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has'
# ],
# 'valid_inputs' => [
# [
# 1,
# 2,
# 3
# ],
# [
# 1,
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, type, type:array) array0123: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 117 - (tags=clause:has, type, type:array) array0123: has
# {
# 'invalid_inputs' => [
# [
# 1,
# 2,
# 3
# ],
# [
# 1,
# 3
# ]
# ],
# 'name' => 'array0124: has + op.not',
# 'schema' => [
# 'array',
# '!has',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# [],
# [
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:array) array0124: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 118 - (tags=clause:has, op, op:not, opshortcut, type, type:array) array0124: has + op.not
# {
# 'invalid_inputs' => [
# [],
# [
# 3
# ]
# ],
# 'name' => 'array0125: has + op.or',
# 'schema' => [
# 'array',
# 'has|',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# [
# 1,
# 2,
# 3
# ],
# [
# 1,
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:array) array0125: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 119 - (tags=clause:has, op, op:or, opshortcut, type, type:array) array0125: has + op.or
# {
# 'invalid_inputs' => [
# [
# 1,
# 3
# ],
# [],
# [
# 3
# ]
# ],
# 'name' => 'array0126: has + op.and',
# 'schema' => [
# 'array',
# 'has&',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# [
# 1,
# 2,
# 3
# ]
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:array) array0126: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - validator (rt=full) returns hash
1..6
ok 120 - (tags=clause:has, op, op:and, opshortcut, type, type:array) array0126: has + op.and
# {
# 'input' => [
# undef,
# 1
# ],
# 'name' => 'array0130: elems (nok, first elem required)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:elems, type, type:array) array0130: elems (nok, first elem required)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:elems, type, type:array) array0130: elems (nok, first elem required)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0131: elems (ok, missing elem set to undef)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0131: elems (ok, missing elem set to undef)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 122 - (tags=clause:elems, type, type:array) array0131: elems (ok, missing elem set to undef)
# {
# 'input' => [
# 1,
# undef
# ],
# 'name' => 'array0132: elems (ok, second elem optional)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0132: elems (ok, second elem optional)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:elems, type, type:array) array0132: elems (ok, second elem optional)
# {
# 'input' => [
# 1,
# '1.1'
# ],
# 'name' => 'array0133: elems (ok 2)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0133: elems (ok 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:elems, type, type:array) array0133: elems (ok 2)
# {
# 'input' => [
# 1,
# '1.1',
# undef
# ],
# 'name' => 'array0134: elems (ok, extra elems ignored)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0134: elems (ok, extra elems ignored)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:elems, type, type:array) array0134: elems (ok, extra elems ignored)
# {
# 'input' => [
# 1,
# '1.1',
# 'foo'
# ],
# 'name' => 'array0135: elems (ok, extra elems ignored 2)',
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int*',
# [
# 'float',
# 'default',
# 2
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0135: elems (ok, extra elems ignored 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:elems, type, type:array) array0135: elems (ok, extra elems ignored 2)
# {
# 'input' => [
# 1
# ],
# 'name' => 'array0136: elems (ok, create_default=0)',
# 'output' => [
# 1
# ],
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int',
# [
# 'int',
# 'default',
# 2
# ]
# ],
# 'elems.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0136: elems (ok, create_default=0)
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 127 - (tags=clause:elems, type, type:array) array0136: elems (ok, create_default=0)
# {
# 'input' => [
# 1,
# undef
# ],
# 'name' => 'array0137: elems (ok 2, create_default=0)',
# 'output' => [
# 1,
# 2
# ],
# 'schema' => [
# 'array',
# {
# 'elems' => [
# 'int',
# [
# 'int',
# 'default',
# 2
# ]
# ],
# 'elems.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:array',
# 'clause:elems'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:elems, type, type:array) array0137: elems (ok 2, create_default=0)
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 128 - (tags=clause:elems, type, type:array) array0137: elems (ok 2, create_default=0)
ok 129
1..129
ok 5 - 10-type-array.json
# Subtest: 10-type-bool.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'bool0001: type check: must accept 0',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0001: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'bool0002: type check: must accept 1',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0002: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0002: type check: must accept 1
# {
# 'input' => [],
# 'name' => 'bool0003: type check: must reject []',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:bool) bool0003: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:bool) bool0003: type check: must reject []
# {
# 'input' => {},
# 'name' => 'bool0004: type check: must reject {}',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:bool) bool0004: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:bool) bool0004: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'bool0005: must accept undefined value',
# 'schema' => 'bool',
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0005: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0005: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'bool0006: defhash_v',
# 'schema' => [
# 'bool',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:bool) bool0006: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:bool) bool0006: defhash_v
# {
# 'input' => undef,
# 'name' => 'bool0007: v',
# 'schema' => [
# 'bool',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:bool) bool0007: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:bool) bool0007: v
# {
# 'input' => undef,
# 'name' => 'bool0008: c',
# 'schema' => [
# 'bool',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:bool) bool0008: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:bool) bool0008: c
# {
# 'input' => undef,
# 'name' => 'bool0009: default_lang',
# 'schema' => [
# 'bool',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:bool) bool0009: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:bool) bool0009: default_lang
# {
# 'input' => undef,
# 'name' => 'bool0010: name',
# 'schema' => [
# 'bool',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:bool) bool0010: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:bool) bool0010: name
# {
# 'input' => undef,
# 'name' => 'bool0011: summary',
# 'schema' => [
# 'bool',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:bool) bool0011: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:bool) bool0011: summary
# {
# 'input' => undef,
# 'name' => 'bool0012: description',
# 'schema' => [
# 'bool',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:bool) bool0012: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:bool) bool0012: description
# {
# 'input' => undef,
# 'name' => 'bool0013: tags',
# 'schema' => [
# 'bool',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:bool) bool0013: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:bool) bool0013: tags
# {
# 'input' => undef,
# 'name' => 'bool0014: req=0 must accept undefined value',
# 'schema' => [
# 'bool',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:bool) bool0014: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:bool) bool0014: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'bool0015: req=1 must reject undefined value',
# 'schema' => [
# 'bool',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:bool) bool0015: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:bool) bool0015: req=1 must reject undefined value
# {
# 'input' => 1,
# 'name' => 'bool0016: forbidden=0 must accept defined value',
# 'schema' => [
# 'bool',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:bool) bool0016: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:bool) bool0016: forbidden=0 must accept defined value
# {
# 'input' => 1,
# 'name' => 'bool0017: forbidden=1 must reject defined value',
# 'schema' => [
# 'bool',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:bool) bool0017: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:bool) bool0017: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'bool0018: default: must accept valid default 1',
# 'schema' => [
# 'bool*',
# 'default',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:bool) bool0018: default: must accept valid default 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:default, type, type:bool) bool0018: default: must accept valid default 1
# {
# 'input' => undef,
# 'name' => 'bool0019: default: must reject invalid default []',
# 'schema' => [
# 'bool*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:bool) bool0019: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:default, type, type:bool) bool0019: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 1,
# 'name' => 'bool0020: clause (dies, unknown clause)',
# 'schema' => [
# 'bool*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:bool) bool0020: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 20 - (tags=clause:clause, type, type:bool) bool0020: clause (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 1,
# 'name' => 'bool0021: clset (dies, unknown clause)',
# 'schema' => [
# 'bool*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:bool) bool0021: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 21 - (tags=clause:clset, type, type:bool) bool0021: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 1,
# 'name' => 'bool0022: clset (dies, unknown attr)',
# 'schema' => [
# 'bool*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:bool) bool0022: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clset, type, type:bool) bool0022: clset (dies, unknown attr)
# {
# 'input' => 1,
# 'name' => 'bool0023: clset (empty = ok)',
# 'schema' => [
# 'bool*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0023: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0023: clset (empty = ok)
# {
# 'input' => 1,
# 'name' => 'bool0024: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'bool*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:bool) bool0024: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:bool) bool0024: clset (ignored clause/attr = ok)
# {
# 'input' => undef,
# 'name' => 'bool0025: ok',
# 'schema' => [
# 'bool',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:bool) bool0025: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:ok, type, type:bool) bool0025: ok
# {
# 'input' => undef,
# 'name' => 'bool0026: ok + op not (nok)',
# 'schema' => [
# 'bool',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:bool) bool0026: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:bool) bool0026: ok + op not (nok)
# {
# 'input' => 1,
# 'name' => 'bool0027: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'bool',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0027: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:bool) bool0027: .err_level=error (clause=is, ok)
# {
# 'input' => 0,
# 'name' => 'bool0028: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'bool',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0028: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:bool) bool0028: .err_level=error (clause=is, nok)
# {
# 'input' => 1,
# 'name' => 'bool0029: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'bool',
# 'is',
# 1,
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0029: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:bool) bool0029: .err_level=warn (clause=is, ok)
# {
# 'input' => 0,
# 'name' => 'bool0030: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'bool*',
# 'is',
# 1,
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:bool) bool0030: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:bool) bool0030: .err_level=warn (clause=is, nok)
# {
# 'input' => 0,
# 'name' => 'bool0031: is: must accept same value',
# 'schema' => [
# 'bool',
# 'is',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:bool) bool0031: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, type, type:bool) bool0031: is: must accept same value
# {
# 'input' => 0,
# 'name' => 'bool0032: is: must reject different value',
# 'schema' => [
# 'bool',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:bool) bool0032: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:bool) bool0032: is: must reject different value
# {
# 'input' => 0,
# 'name' => 'bool0033: !is (nok)',
# 'schema' => [
# 'bool',
# '!is',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0033: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0033: !is (nok)
# {
# 'input' => 0,
# 'name' => 'bool0034: !is (ok)',
# 'schema' => [
# 'bool',
# '!is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0034: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0034: !is (ok)
# {
# 'input' => 0,
# 'name' => 'bool0035: is.op=not (nok)',
# 'schema' => [
# 'bool',
# 'is',
# 0,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:bool) bool0035: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:bool) bool0035: is.op=not (nok)
# {
# 'input' => 0,
# 'name' => 'bool0036: is.op=not (ok)',
# 'schema' => [
# 'bool',
# 'is',
# 1,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:bool) bool0036: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:bool) bool0036: is.op=not (ok)
# {
# 'input' => 0,
# 'name' => 'bool0037: is& (no items)',
# 'schema' => [
# 'bool',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0037: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0037: is& (no items)
# {
# 'input' => 0,
# 'name' => 'bool0038: is& (ok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 0,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0038: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0038: is& (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0039: is& (nok + ok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 1,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0039: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0039: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0040: is& (ok + nok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0040: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0040: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0041: is& (nok + nok)',
# 'schema' => [
# 'bool',
# 'is&',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0041: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0041: is& (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0042: is.op=and (no items)',
# 'schema' => [
# 'bool',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0042: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0042: is.op=and (no items)
# {
# 'input' => 0,
# 'name' => 'bool0043: is.op=and (ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 0
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0043: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:bool) bool0043: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0044: is.op=and (nok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 0
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0044: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:bool) bool0044: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0045: is.op=and (ok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0045: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:bool) bool0045: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0046: is.op=and (nok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:bool) bool0046: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:bool) bool0046: is.op=and (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0047: is| (no items)',
# 'schema' => [
# 'bool',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0047: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0047: is| (no items)
# {
# 'input' => 0,
# 'name' => 'bool0048: is| (ok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 0,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0048: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0048: is| (ok)
# {
# 'input' => 0,
# 'name' => 'bool0049: is| (nok + ok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 1,
# 0
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0049: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0049: is| (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0050: is| (ok + nok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0050: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0050: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0051: is| (nok + nok)',
# 'schema' => [
# 'bool',
# 'is|',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0051: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0051: is| (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0052: is.op=or (no items)',
# 'schema' => [
# 'bool',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0052: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:bool) bool0052: is.op=or (no items)
# {
# 'input' => 0,
# 'name' => 'bool0053: is.op=or (ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 0
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0053: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:bool) bool0053: is.op=or (ok)
# {
# 'input' => 0,
# 'name' => 'bool0054: is.op=or (nok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 0
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0054: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:bool) bool0054: is.op=or (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0055: is.op=or (ok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0055: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:bool) bool0055: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0056: is.op=or (nok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:bool) bool0056: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:bool) bool0056: is.op=or (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0057: is.op=none (empty items)',
# 'schema' => [
# 'bool',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0057: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:bool) bool0057: is.op=none (empty items)
# {
# 'input' => 0,
# 'name' => 'bool0058: is.op=none (nok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0058: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:bool) bool0058: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0059: is.op=none (nok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 1,
# 0
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0059: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:bool) bool0059: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0060: is.op=none (ok + nok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0060: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:bool) bool0060: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0061: is.op=none (ok + ok)',
# 'schema' => [
# 'bool',
# 'is',
# [
# 0,
# 0
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:bool) bool0061: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:bool) bool0061: is.op=none (ok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0062: in: must accept valid choices',
# 'schema' => [
# 'bool',
# 'in',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:bool) bool0062: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, type, type:bool) bool0062: in: must accept valid choices
# {
# 'input' => 0,
# 'name' => 'bool0063: in: must reject empty choices',
# 'schema' => [
# 'bool',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:bool) bool0063: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:bool) bool0063: in: must reject empty choices
# {
# 'input' => 0,
# 'name' => 'bool0064: !in (nok)',
# 'schema' => [
# 'bool',
# '!in',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0064: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0064: !in (nok)
# {
# 'input' => 0,
# 'name' => 'bool0065: !in (ok)',
# 'schema' => [
# 'bool',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0065: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0065: !in (ok)
# {
# 'input' => 0,
# 'name' => 'bool0066: in.op=not (nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# 0,
# 1
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:bool) bool0066: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:bool) bool0066: in.op=not (nok)
# {
# 'input' => 0,
# 'name' => 'bool0067: in.op=not (ok)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:bool) bool0067: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:bool) bool0067: in.op=not (ok)
# {
# 'input' => 0,
# 'name' => 'bool0068: in& (no items)',
# 'schema' => [
# 'bool',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0068: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0068: in& (no items)
# {
# 'input' => 0,
# 'name' => 'bool0069: in& (ok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0069: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0069: in& (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0070: in& (nok + ok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0070: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0070: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0071: in& (ok + nok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [
# 0,
# 1
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0071: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0071: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0072: in& (nok + nok)',
# 'schema' => [
# 'bool',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0072: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0072: in& (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0073: in.op=and (no items)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0073: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0073: in.op=and (no items)
# {
# 'input' => 0,
# 'name' => 'bool0074: in.op=and (ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0074: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:bool) bool0074: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0075: in.op=and (nok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0075: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:bool) bool0075: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0076: in.op=and (ok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0076: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:bool) bool0076: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0077: in.op=and (nok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:bool) bool0077: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:bool) bool0077: in.op=and (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0078: in| (no items)',
# 'schema' => [
# 'bool',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0078: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0078: in| (no items)
# {
# 'input' => 0,
# 'name' => 'bool0079: in| (ok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0079: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0079: in| (ok)
# {
# 'input' => 0,
# 'name' => 'bool0080: in| (nok + ok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [],
# [
# 0,
# 1
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0080: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0080: in| (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0081: in| (ok + nok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [
# 0,
# 1
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0081: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0081: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0082: in| (nok + nok)',
# 'schema' => [
# 'bool',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0082: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0082: in| (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0083: in.op=or (no items)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0083: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:bool) bool0083: in.op=or (no items)
# {
# 'input' => 0,
# 'name' => 'bool0084: in.op=or (ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0084: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:bool) bool0084: in.op=or (ok)
# {
# 'input' => 0,
# 'name' => 'bool0085: in.op=or (nok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0085: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:bool) bool0085: in.op=or (nok + ok)
# {
# 'input' => 0,
# 'name' => 'bool0086: in.op=or (ok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0086: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:bool) bool0086: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0087: in.op=or (nok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:bool) bool0087: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:bool) bool0087: in.op=or (nok + nok)
# {
# 'input' => 0,
# 'name' => 'bool0088: in.op=none (empty items)',
# 'schema' => [
# 'bool',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0088: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:bool) bool0088: in.op=none (empty items)
# {
# 'input' => 0,
# 'name' => 'bool0089: in.op=none (nok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0089: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:bool) bool0089: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0090: in.op=none (nok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0090: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:bool) bool0090: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0091: in.op=none (ok + nok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0091: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:bool) bool0091: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 0,
# 'name' => 'bool0092: in.op=none (ok + ok)',
# 'schema' => [
# 'bool',
# 'in',
# [
# [
# 0,
# 1
# ],
# [
# 0,
# 1
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:bool) bool0092: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:bool) bool0092: in.op=none (ok + ok)
# {
# 'input' => 1,
# 'name' => 'bool0093: min: 1 0',
# 'schema' => [
# 'bool',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:bool) bool0093: min: 1 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:bool) bool0093: min: 1 0
# {
# 'input' => 1,
# 'name' => 'bool0094: min: 1 1',
# 'schema' => [
# 'bool',
# 'min',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:bool) bool0094: min: 1 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:bool) bool0094: min: 1 1
# {
# 'input' => 0,
# 'name' => 'bool0095: min: 0 1 -> fail',
# 'schema' => [
# 'bool',
# 'min',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:bool) bool0095: min: 0 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:bool) bool0095: min: 0 1 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0096: xmin: 1 0',
# 'schema' => [
# 'bool',
# 'xmin',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:bool) bool0096: xmin: 1 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:bool) bool0096: xmin: 1 0
# {
# 'input' => 1,
# 'name' => 'bool0097: xmin: 1 1 -> fail',
# 'schema' => [
# 'bool',
# 'xmin',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:bool) bool0097: xmin: 1 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:bool) bool0097: xmin: 1 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0098: xmin: 0 1 -> fail',
# 'schema' => [
# 'bool',
# 'xmin',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:bool) bool0098: xmin: 0 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:bool) bool0098: xmin: 0 1 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0099: max: 1 0 -> fail',
# 'schema' => [
# 'bool',
# 'max',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:bool) bool0099: max: 1 0 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:bool) bool0099: max: 1 0 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0100: max: 1 1',
# 'schema' => [
# 'bool',
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:bool) bool0100: max: 1 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:bool) bool0100: max: 1 1
# {
# 'input' => 0,
# 'name' => 'bool0101: max: 0 1',
# 'schema' => [
# 'bool',
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:bool) bool0101: max: 0 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:bool) bool0101: max: 0 1
# {
# 'input' => 1,
# 'name' => 'bool0102: xmax: 1 0 -> fail',
# 'schema' => [
# 'bool',
# 'xmax',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:bool) bool0102: xmax: 1 0 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:bool) bool0102: xmax: 1 0 -> fail
# {
# 'input' => 1,
# 'name' => 'bool0103: xmax: 1 1 -> fail',
# 'schema' => [
# 'bool',
# 'xmax',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:bool) bool0103: xmax: 1 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:bool) bool0103: xmax: 1 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0104: xmax: 0 1',
# 'schema' => [
# 'bool',
# 'xmax',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:bool) bool0104: xmax: 0 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:bool) bool0104: xmax: 0 1
# {
# 'input' => 1,
# 'name' => 'bool0105: between: 1 0 & 1',
# 'schema' => [
# 'bool',
# 'between',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:bool) bool0105: between: 1 0 & 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:bool) bool0105: between: 1 0 & 1
# {
# 'input' => 1,
# 'name' => 'bool0106: between: 1 0 & 1',
# 'schema' => [
# 'bool',
# 'between',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:bool) bool0106: between: 1 0 & 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:bool) bool0106: between: 1 0 & 1
# {
# 'input' => 1,
# 'name' => 'bool0107: between: 1 1 & 1',
# 'schema' => [
# 'bool',
# 'between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:bool) bool0107: between: 1 1 & 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:bool) bool0107: between: 1 1 & 1
# {
# 'input' => 0,
# 'name' => 'bool0108: between: 0 1 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:bool) bool0108: between: 0 1 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, type, type:bool) bool0108: between: 0 1 & 1 -> fail
# {
# 'input' => '1',
# 'name' => 'bool0109: xbetween: 1 0 & 1',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# 0,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0109: xbetween: 1 0 & 1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:bool) bool0109: xbetween: 1 0 & 1
# {
# 'input' => '1',
# 'name' => 'bool0110: xbetween: 1 0 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# 0,
# '1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0110: xbetween: 1 0 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:bool) bool0110: xbetween: 1 0 & 1 -> fail
# {
# 'input' => '1',
# 'name' => 'bool0111: xbetween: 1 1 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# '1',
# '1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0111: xbetween: 1 1 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:bool) bool0111: xbetween: 1 1 & 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0112: xbetween: 0 1 & 1 -> fail',
# 'schema' => [
# 'bool',
# 'xbetween',
# [
# '1',
# '1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:bool) bool0112: xbetween: 0 1 & 1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:bool) bool0112: xbetween: 0 1 & 1 -> fail
# {
# 'input' => 0,
# 'name' => 'bool0122: between.op=and (no items)',
# 'schema' => [
# 'bool',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:bool'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:bool) bool0122: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:bool) bool0122: between.op=and (no items)
# {
# 'input' => 1,
# 'name' => 'bool0142: is_true: 1 (ok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0142: is_true: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:is_true, type, type:bool) bool0142: is_true: 1 (ok)
# {
# 'input' => 0,
# 'name' => 'bool0143: is_true: 1 (nok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0143: is_true: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is_true, type, type:bool) bool0143: is_true: 1 (nok)
# {
# 'input' => 0,
# 'name' => 'bool0144: is_true: 0 (ok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0144: is_true: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:is_true, type, type:bool) bool0144: is_true: 0 (ok)
# {
# 'input' => 1,
# 'name' => 'bool0145: is_true: 0 (nok)',
# 'schema' => [
# 'bool',
# 'is_true',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0145: is_true: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 117 - (tags=clause:is_true, type, type:bool) bool0145: is_true: 0 (nok)
# {
# 'input' => 0,
# 'name' => 'bool0146: is_true: undef (ok 1)',
# 'schema' => [
# 'bool',
# 'is_true',
# undef
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0146: is_true: undef (ok 1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:is_true, type, type:bool) bool0146: is_true: undef (ok 1)
# {
# 'input' => 1,
# 'name' => 'bool0147: is_true: undef (ok 2)',
# 'schema' => [
# 'bool',
# 'is_true',
# undef
# ],
# 'tags' => [
# 'type',
# 'type:bool',
# 'clause:is_true'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_true, type, type:bool) bool0147: is_true: undef (ok 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is_true, type, type:bool) bool0147: is_true: undef (ok 2)
ok 120
1..120
ok 6 - 10-type-bool.json
# Subtest: 10-type-buf.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'buf0001: type check: must accept 0',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0001: type check: must accept 0
# {
# 'input' => '1.1',
# 'name' => 'buf0002: type check: must accept 1.1',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0002: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0002: type check: must accept 1.1
# {
# 'input' => '',
# 'name' => 'buf0003: type check: must accept ',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0003: type check: must accept
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0003: type check: must accept
# {
# 'input' => 'str
# ',
# 'name' => 'buf0004: type check: must accept str
# ',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0004: type check: must accept str
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0004: type check: must accept str
#
# {
# 'input' => [],
# 'name' => 'buf0005: type check: must reject []',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:buf) buf0005: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:buf) buf0005: type check: must reject []
# {
# 'input' => {},
# 'name' => 'buf0006: type check: must reject {}',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:buf) buf0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:buf) buf0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'buf0007: must accept undefined value',
# 'schema' => 'buf',
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'buf0008: defhash_v',
# 'schema' => [
# 'buf',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:buf) buf0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:buf) buf0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'buf0009: v',
# 'schema' => [
# 'buf',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:buf) buf0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:buf) buf0009: v
# {
# 'input' => undef,
# 'name' => 'buf0010: c',
# 'schema' => [
# 'buf',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:buf) buf0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:buf) buf0010: c
# {
# 'input' => undef,
# 'name' => 'buf0011: default_lang',
# 'schema' => [
# 'buf',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:buf) buf0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:buf) buf0011: default_lang
# {
# 'input' => undef,
# 'name' => 'buf0012: name',
# 'schema' => [
# 'buf',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:buf) buf0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:buf) buf0012: name
# {
# 'input' => undef,
# 'name' => 'buf0013: summary',
# 'schema' => [
# 'buf',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:buf) buf0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:buf) buf0013: summary
# {
# 'input' => undef,
# 'name' => 'buf0014: description',
# 'schema' => [
# 'buf',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:buf) buf0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:buf) buf0014: description
# {
# 'input' => undef,
# 'name' => 'buf0015: tags',
# 'schema' => [
# 'buf',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:buf) buf0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:buf) buf0015: tags
# {
# 'input' => undef,
# 'name' => 'buf0016: req=0 must accept undefined value',
# 'schema' => [
# 'buf',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:buf) buf0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:buf) buf0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'buf0017: req=1 must reject undefined value',
# 'schema' => [
# 'buf',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:buf) buf0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:buf) buf0017: req=1 must reject undefined value
# {
# 'input' => 'a',
# 'name' => 'buf0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'buf',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:buf) buf0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:buf) buf0018: forbidden=0 must accept defined value
# {
# 'input' => 'a',
# 'name' => 'buf0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'buf',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:buf) buf0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:buf) buf0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'buf0020: default: must accept valid default a',
# 'schema' => [
# 'buf*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:buf) buf0020: default: must accept valid default a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:buf) buf0020: default: must accept valid default a
# {
# 'input' => undef,
# 'name' => 'buf0021: default: must reject invalid default []',
# 'schema' => [
# 'buf*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:buf) buf0021: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:buf) buf0021: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0022: clause (dies, unknown clause)',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:buf) buf0022: clause (dies, unknown clause)
# {
# 'input' => 'a',
# 'name' => 'buf0023: clause (ok)',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'match',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clause, type, type:buf) buf0023: clause (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'match',
# 'a'
# ],
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:buf) buf0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0025: clause (nok)',
# 'schema' => [
# 'buf*',
# 'clause',
# [
# 'match',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:buf) buf0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:buf) buf0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0026: clset (dies, unknown clause)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:buf) buf0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0027: clset (dies, unknown attr)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:buf) buf0027: clset (dies, unknown attr)
# {
# 'input' => 'a',
# 'name' => 'buf0028: clset (empty = ok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0028: clset (empty = ok)
# {
# 'input' => 'a',
# 'name' => 'buf0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:buf) buf0029: clset (ignored clause/attr = ok)
# {
# 'input' => 'a',
# 'name' => 'buf0030: clset (ok + ok = ok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:buf) buf0030: clset (ok + ok = ok)
# {
# 'input' => 'a',
# 'name' => 'buf0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'match' => 'a'
# },
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:buf) buf0031: clset (ok) + clause nok = nok
# {
# 'input' => 'a',
# 'name' => 'buf0032: clset (ok + nok = nok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:buf) buf0032: clset (ok + nok = nok)
# {
# 'input' => 'a',
# 'name' => 'buf0033: clset (nok + ok = nok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:buf) buf0033: clset (nok + ok = nok)
# {
# 'input' => 'a',
# 'name' => 'buf0034: clset (nok + nok = nok)',
# 'schema' => [
# 'buf*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:buf) buf0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:buf) buf0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'buf0035: ok',
# 'schema' => [
# 'buf',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:buf) buf0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:buf) buf0035: ok
# {
# 'input' => undef,
# 'name' => 'buf0036: ok + op not (nok)',
# 'schema' => [
# 'buf',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:buf) buf0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:buf) buf0036: ok + op not (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:buf) buf0037: .err_level=error (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'buf0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:buf) buf0038: .err_level=error (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'buf0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:buf) buf0039: .err_level=warn (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'buf0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'buf*',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:buf) buf0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:buf) buf0040: .err_level=warn (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'buf0041: is: must accept same value',
# 'schema' => [
# 'buf',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:buf) buf0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:buf) buf0041: is: must accept same value
# {
# 'input' => 'a',
# 'name' => 'buf0042: is: must reject different value',
# 'schema' => [
# 'buf',
# 'is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:buf) buf0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:buf) buf0042: is: must reject different value
# {
# 'input' => 'a',
# 'name' => 'buf0043: !is (nok)',
# 'schema' => [
# 'buf',
# '!is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0043: !is (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0044: !is (ok)',
# 'schema' => [
# 'buf',
# '!is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:buf) buf0044: !is (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0045: is.op=not (nok)',
# 'schema' => [
# 'buf',
# 'is',
# 'a',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:buf) buf0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:buf) buf0045: is.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0046: is.op=not (ok)',
# 'schema' => [
# 'buf',
# 'is',
# 'b',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:buf) buf0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:buf) buf0046: is.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0047: is& (no items)',
# 'schema' => [
# 'buf',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0047: is& (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0048: is& (ok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0049: is& (nok + ok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0050: is& (ok + nok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0051: is& (nok + nok)',
# 'schema' => [
# 'buf',
# 'is&',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) buf0051: is& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0052: is.op=and (no items)',
# 'schema' => [
# 'buf',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0052: is.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0053: is.op=and (ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:buf) buf0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0054: is.op=and (nok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:buf) buf0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0055: is.op=and (ok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:buf) buf0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0056: is.op=and (nok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:buf) buf0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:buf) buf0056: is.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0057: is| (no items)',
# 'schema' => [
# 'buf',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0057: is| (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0058: is| (ok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0058: is| (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0059: is| (nok + ok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0059: is| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0060: is| (ok + nok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0061: is| (nok + nok)',
# 'schema' => [
# 'buf',
# 'is|',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) buf0061: is| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0062: is.op=or (no items)',
# 'schema' => [
# 'buf',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:buf) buf0062: is.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0063: is.op=or (ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:buf) buf0063: is.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0064: is.op=or (nok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:buf) buf0064: is.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0065: is.op=or (ok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:buf) buf0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0066: is.op=or (nok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:buf) buf0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:buf) buf0066: is.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0067: is.op=none (empty items)',
# 'schema' => [
# 'buf',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:buf) buf0067: is.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'buf0068: is.op=none (nok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:buf) buf0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0069: is.op=none (nok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:buf) buf0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0070: is.op=none (ok + nok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:buf) buf0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0071: is.op=none (ok + ok)',
# 'schema' => [
# 'buf',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:buf) buf0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:buf) buf0071: is.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0072: in: must accept valid choices',
# 'schema' => [
# 'buf',
# 'in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:buf) buf0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:buf) buf0072: in: must accept valid choices
# {
# 'input' => 'a',
# 'name' => 'buf0073: in: must reject empty choices',
# 'schema' => [
# 'buf',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:buf) buf0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:buf) buf0073: in: must reject empty choices
# {
# 'input' => 'a',
# 'name' => 'buf0074: !in (nok)',
# 'schema' => [
# 'buf',
# '!in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0074: !in (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0075: !in (ok)',
# 'schema' => [
# 'buf',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:buf) buf0075: !in (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0076: in.op=not (nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# 'a',
# 'b'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:buf) buf0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:buf) buf0076: in.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0077: in.op=not (ok)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:buf) buf0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:buf) buf0077: in.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0078: in& (no items)',
# 'schema' => [
# 'buf',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0078: in& (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0079: in& (ok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0080: in& (nok + ok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0081: in& (ok + nok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0082: in& (nok + nok)',
# 'schema' => [
# 'buf',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) buf0082: in& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0083: in.op=and (no items)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:buf) buf0083: in.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0084: in.op=and (ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:buf) buf0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0085: in.op=and (nok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:buf) buf0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0086: in.op=and (ok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:buf) buf0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0087: in.op=and (nok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:buf) buf0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:buf) buf0087: in.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0088: in| (no items)',
# 'schema' => [
# 'buf',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0088: in| (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0089: in| (ok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0089: in| (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0090: in| (nok + ok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0090: in| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0091: in| (ok + nok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0092: in| (nok + nok)',
# 'schema' => [
# 'buf',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) buf0092: in| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0093: in.op=or (no items)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:buf) buf0093: in.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'buf0094: in.op=or (ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:buf) buf0094: in.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0095: in.op=or (nok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:buf) buf0095: in.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0096: in.op=or (ok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:buf) buf0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0097: in.op=or (nok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:buf) buf0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:buf) buf0097: in.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'buf0098: in.op=none (empty items)',
# 'schema' => [
# 'buf',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:buf) buf0098: in.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'buf0099: in.op=none (nok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:buf) buf0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0100: in.op=none (nok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:buf) buf0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0101: in.op=none (ok + nok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:buf) buf0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'buf0102: in.op=none (ok + ok)',
# 'schema' => [
# 'buf',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:buf) buf0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:buf) buf0102: in.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0103: min: a ',
# 'schema' => [
# 'buf',
# 'min',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:buf) buf0103: min: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:buf) buf0103: min: a
# {
# 'input' => 'a',
# 'name' => 'buf0104: min: a a',
# 'schema' => [
# 'buf',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:buf) buf0104: min: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:buf) buf0104: min: a a
# {
# 'input' => '',
# 'name' => 'buf0105: min: a -> fail',
# 'schema' => [
# 'buf',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:buf) buf0105: min: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:buf) buf0105: min: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0106: xmin: a ',
# 'schema' => [
# 'buf',
# 'xmin',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:buf) buf0106: xmin: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:buf) buf0106: xmin: a
# {
# 'input' => 'a',
# 'name' => 'buf0107: xmin: a a -> fail',
# 'schema' => [
# 'buf',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:buf) buf0107: xmin: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:buf) buf0107: xmin: a a -> fail
# {
# 'input' => '',
# 'name' => 'buf0108: xmin: a -> fail',
# 'schema' => [
# 'buf',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:buf) buf0108: xmin: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:buf) buf0108: xmin: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0109: max: a -> fail',
# 'schema' => [
# 'buf',
# 'max',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:buf) buf0109: max: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:buf) buf0109: max: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0110: max: a a',
# 'schema' => [
# 'buf',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:buf) buf0110: max: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:buf) buf0110: max: a a
# {
# 'input' => '',
# 'name' => 'buf0111: max: a',
# 'schema' => [
# 'buf',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:buf) buf0111: max: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:buf) buf0111: max: a
# {
# 'input' => 'a',
# 'name' => 'buf0112: xmax: a -> fail',
# 'schema' => [
# 'buf',
# 'xmax',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:buf) buf0112: xmax: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:buf) buf0112: xmax: a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0113: xmax: a a -> fail',
# 'schema' => [
# 'buf',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:buf) buf0113: xmax: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:buf) buf0113: xmax: a a -> fail
# {
# 'input' => '',
# 'name' => 'buf0114: xmax: a',
# 'schema' => [
# 'buf',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:buf) buf0114: xmax: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:buf) buf0114: xmax: a
# {
# 'input' => 'a',
# 'name' => 'buf0115: between: a & ab',
# 'schema' => [
# 'buf',
# 'between',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:buf) buf0115: between: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:buf) buf0115: between: a & ab
# {
# 'input' => 'a',
# 'name' => 'buf0116: between: a & a',
# 'schema' => [
# 'buf',
# 'between',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:buf) buf0116: between: a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:buf) buf0116: between: a & a
# {
# 'input' => 'a',
# 'name' => 'buf0117: between: a a & a',
# 'schema' => [
# 'buf',
# 'between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:buf) buf0117: between: a a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:buf) buf0117: between: a a & a
# {
# 'input' => '',
# 'name' => 'buf0118: between: a & ab -> fail',
# 'schema' => [
# 'buf',
# 'between',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:buf) buf0118: between: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, type, type:buf) buf0118: between: a & ab -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0119: xbetween: a & ab',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0119: xbetween: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:buf) buf0119: xbetween: a & ab
# {
# 'input' => 'a',
# 'name' => 'buf0120: xbetween: a & a -> fail',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0120: xbetween: a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:buf) buf0120: xbetween: a & a -> fail
# {
# 'input' => 'a',
# 'name' => 'buf0121: xbetween: a a & a -> fail',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0121: xbetween: a a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:buf) buf0121: xbetween: a a & a -> fail
# {
# 'input' => '',
# 'name' => 'buf0122: xbetween: a & ab -> fail',
# 'schema' => [
# 'buf',
# 'xbetween',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:buf) buf0122: xbetween: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:buf) buf0122: xbetween: a & ab -> fail
# {
# 'input' => '',
# 'name' => 'buf0123: !between (nok)',
# 'schema' => [
# 'buf',
# '!between',
# [
# '',
# ''
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0123: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0123: !between (nok)
# {
# 'input' => '',
# 'name' => 'buf0124: !between (ok)',
# 'schema' => [
# 'buf',
# '!between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0124: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:buf) buf0124: !between (ok)
# {
# 'input' => '',
# 'name' => 'buf0125: between.op=not (nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# '',
# ''
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:buf) buf0125: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, type, type:buf) buf0125: between.op=not (nok)
# {
# 'input' => '',
# 'name' => 'buf0126: between.op=not (ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# 'a',
# 'a'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:buf) buf0126: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:buf) buf0126: between.op=not (ok)
# {
# 'input' => '',
# 'name' => 'buf0127: between& (no items)',
# 'schema' => [
# 'buf',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0127: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0127: between& (no items)
# {
# 'input' => '',
# 'name' => 'buf0128: between& (ok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0128: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0128: between& (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0129: between& (nok + ok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0129: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0129: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0130: between& (ok + nok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0130: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0130: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0131: between& (nok + nok)',
# 'schema' => [
# 'buf',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0131: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) buf0131: between& (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0132: between.op=and (no items)',
# 'schema' => [
# 'buf',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:buf) buf0132: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=type, type:buf) buf0132: between.op=and (no items)
# {
# 'input' => '',
# 'name' => 'buf0133: between.op=and (ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0133: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, type, type:buf) buf0133: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0134: between.op=and (nok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0134: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:buf) buf0134: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0135: between.op=and (ok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0135: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:buf) buf0135: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0136: between.op=and (nok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:buf) buf0136: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:buf) buf0136: between.op=and (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0137: between| (no items)',
# 'schema' => [
# 'buf',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0137: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0137: between| (no items)
# {
# 'input' => '',
# 'name' => 'buf0138: between| (ok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0138: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0138: between| (ok)
# {
# 'input' => '',
# 'name' => 'buf0139: between| (nok + ok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0139: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0139: between| (nok + ok)
# {
# 'input' => '',
# 'name' => 'buf0140: between| (ok + nok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0140: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0140: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0141: between| (nok + nok)',
# 'schema' => [
# 'buf',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0141: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) buf0141: between| (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0142: between.op=or (no items)',
# 'schema' => [
# 'buf',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0142: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, type, type:buf) buf0142: between.op=or (no items)
# {
# 'input' => '',
# 'name' => 'buf0143: between.op=or (ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0143: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:buf) buf0143: between.op=or (ok)
# {
# 'input' => '',
# 'name' => 'buf0144: between.op=or (nok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0144: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:buf) buf0144: between.op=or (nok + ok)
# {
# 'input' => '',
# 'name' => 'buf0145: between.op=or (ok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0145: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:buf) buf0145: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0146: between.op=or (nok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:buf) buf0146: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:buf) buf0146: between.op=or (nok + nok)
# {
# 'input' => '',
# 'name' => 'buf0147: between.op=none (empty items)',
# 'schema' => [
# 'buf',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0147: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:none, type, type:buf) buf0147: between.op=none (empty items)
# {
# 'input' => '',
# 'name' => 'buf0148: between.op=none (nok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0148: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:buf) buf0148: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0149: between.op=none (nok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0149: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:buf) buf0149: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0150: between.op=none (ok + nok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0150: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:buf) buf0150: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'buf0151: between.op=none (ok + ok)',
# 'schema' => [
# 'buf',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:buf) buf0151: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:buf) buf0151: between.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'buf0152: len (ok)',
# 'schema' => [
# 'buf',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:buf) buf0152: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:len, type, type:buf) buf0152: len (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0153: len (nok)',
# 'schema' => [
# 'buf',
# 'len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:buf) buf0153: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:len, type, type:buf) buf0153: len (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0154: min_len (ok)',
# 'schema' => [
# 'buf',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:buf) buf0154: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:min_len, type, type:buf) buf0154: min_len (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0155: min_len (nok)',
# 'schema' => [
# 'buf',
# 'min_len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:buf) buf0155: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:min_len, type, type:buf) buf0155: min_len (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0156: max_len (ok)',
# 'schema' => [
# 'buf',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:buf) buf0156: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:max_len, type, type:buf) buf0156: max_len (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0157: max_len (nok)',
# 'schema' => [
# 'buf',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:buf) buf0157: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=clause:max_len, type, type:buf) buf0157: max_len (nok)
# {
# 'input' => 'a',
# 'name' => 'buf0158: len_between (ok)',
# 'schema' => [
# 'buf',
# 'len_between',
# [
# 1,
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:buf) buf0158: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=clause:len_between, type, type:buf) buf0158: len_between (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0159: len_between (nok)',
# 'schema' => [
# 'buf',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:buf) buf0159: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=clause:len_between, type, type:buf) buf0159: len_between (nok)
# {
# 'input' => 'abc',
# 'name' => 'buf0160: each_index (ok)',
# 'schema' => [
# 'buf',
# 'each_index',
# [
# 'int',
# 'max',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:buf) buf0160: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=clause:each_index, type, type:buf) buf0160: each_index (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0161: each_index (nok)',
# 'schema' => [
# 'buf',
# 'each_index',
# [
# 'int',
# 'xmax',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:buf) buf0161: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=clause:each_index, type, type:buf) buf0161: each_index (nok)
# {
# 'input' => 'abc',
# 'name' => 'buf0162: each_elem (ok)',
# 'schema' => [
# 'buf',
# 'each_elem',
# 'buf'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:buf) buf0162: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=clause:each_elem, type, type:buf) buf0162: each_elem (ok)
# {
# 'input' => 'abc',
# 'name' => 'buf0163: each_elem (nok)',
# 'schema' => [
# 'buf',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:buf) buf0163: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=clause:each_elem, type, type:buf) buf0163: each_elem (nok)
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'buf0170: has',
# 'schema' => [
# 'buf',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, type, type:buf) buf0170: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 164 - (tags=clause:has, type, type:buf) buf0170: has
# {
# 'invalid_inputs' => [
# 'abc',
# 'ac'
# ],
# 'name' => 'buf0171: has + op.not',
# 'schema' => [
# 'buf',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# '',
# 'A',
# 'c'
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:buf) buf0171: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - invalid input [0]
ok 6 - invalid input [1]
ok 7 - validator (rt=full) returns hash
1..7
ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:buf) buf0171: has + op.not
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'buf0172: has + op.or',
# 'schema' => [
# 'buf',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:buf) buf0172: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:buf) buf0172: has + op.or
# {
# 'invalid_inputs' => [
# 'ac',
# '',
# 'A',
# 'c'
# ],
# 'name' => 'buf0173: has + op.and',
# 'schema' => [
# 'buf',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc'
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:buf) buf0173: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - invalid input [3]
ok 7 - validator (rt=full) returns hash
1..7
ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:buf) buf0173: has + op.and
# {
# 'input' => 'a',
# 'name' => 'buf0177: encoding: (ok)',
# 'schema' => [
# 'buf',
# 'encoding',
# 'utf8'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:encoding'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:encoding, type, type:buf) buf0177: encoding: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=clause:encoding, type, type:buf) buf0177: encoding: (ok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0178: encoding: (dies, unknown encoding)',
# 'schema' => [
# 'buf',
# 'encoding',
# 'foo'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:encoding'
# ]
# }
# Subtest: (tags=clause:encoding, type, type:buf) buf0178: encoding: (dies, unknown encoding)
ok 1 - compile error
1..1
ok 169 - (tags=clause:encoding, type, type:buf) buf0178: encoding: (dies, unknown encoding)
# {
# 'input' => 'a',
# 'name' => 'buf0179: match: (ok)',
# 'schema' => [
# 'buf',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:match'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:match, type, type:buf) buf0179: match: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=clause:match, type, type:buf) buf0179: match: (ok)
# {
# 'input' => 'A',
# 'name' => 'buf0180: match: (nok)',
# 'schema' => [
# 'buf',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:match'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:match, type, type:buf) buf0180: match: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=clause:match, type, type:buf) buf0180: match: (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'buf0181: match: (dies, invalid regex)',
# 'schema' => [
# 'buf',
# 'match',
# '('
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:match'
# ]
# }
# Subtest: (tags=clause:match, type, type:buf) buf0181: match: (dies, invalid regex)
ok 1 - compile error
1..1
ok 172 - (tags=clause:match, type, type:buf) buf0181: match: (dies, invalid regex)
# {
# 'input' => 'a',
# 'name' => 'buf0182: is_re: 1 (ok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0182: is_re: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=clause:is_re, type, type:buf) buf0182: is_re: 1 (ok)
# {
# 'input' => 'a(',
# 'name' => 'buf0183: is_re: 1 (nok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0183: is_re: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=clause:is_re, type, type:buf) buf0183: is_re: 1 (nok)
# {
# 'input' => 'a(',
# 'name' => 'buf0184: is_re: 0 (ok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0184: is_re: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=clause:is_re, type, type:buf) buf0184: is_re: 0 (ok)
# {
# 'input' => 'a',
# 'name' => 'buf0185: is_re: 0 (nok)',
# 'schema' => [
# 'buf',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:buf',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:buf) buf0185: is_re: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=clause:is_re, type, type:buf) buf0185: is_re: 0 (nok)
ok 177
1..177
ok 7 - 10-type-buf.json
# Subtest: 10-type-cistr.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'cistr0001: type check: must accept 0',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0001: type check: must accept 0
# {
# 'input' => '1.1',
# 'name' => 'cistr0002: type check: must accept 1.1',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0002: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0002: type check: must accept 1.1
# {
# 'input' => '',
# 'name' => 'cistr0003: type check: must accept ',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0003: type check: must accept
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0003: type check: must accept
# {
# 'input' => 'str
# ',
# 'name' => 'cistr0004: type check: must accept str
# ',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0004: type check: must accept str
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0004: type check: must accept str
#
# {
# 'input' => [],
# 'name' => 'cistr0005: type check: must reject []',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:cistr) cistr0005: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0005: type check: must reject []
# {
# 'input' => {},
# 'name' => 'cistr0006: type check: must reject {}',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:cistr) cistr0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'cistr0007: must accept undefined value',
# 'schema' => 'cistr',
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'cistr0008: defhash_v',
# 'schema' => [
# 'cistr',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:cistr) cistr0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:cistr) cistr0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'cistr0009: v',
# 'schema' => [
# 'cistr',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:cistr) cistr0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:cistr) cistr0009: v
# {
# 'input' => undef,
# 'name' => 'cistr0010: c',
# 'schema' => [
# 'cistr',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:cistr) cistr0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:cistr) cistr0010: c
# {
# 'input' => undef,
# 'name' => 'cistr0011: default_lang',
# 'schema' => [
# 'cistr',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:cistr) cistr0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:cistr) cistr0011: default_lang
# {
# 'input' => undef,
# 'name' => 'cistr0012: name',
# 'schema' => [
# 'cistr',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:cistr) cistr0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:cistr) cistr0012: name
# {
# 'input' => undef,
# 'name' => 'cistr0013: summary',
# 'schema' => [
# 'cistr',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:cistr) cistr0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:cistr) cistr0013: summary
# {
# 'input' => undef,
# 'name' => 'cistr0014: description',
# 'schema' => [
# 'cistr',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:cistr) cistr0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:cistr) cistr0014: description
# {
# 'input' => undef,
# 'name' => 'cistr0015: tags',
# 'schema' => [
# 'cistr',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:cistr) cistr0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:cistr) cistr0015: tags
# {
# 'input' => undef,
# 'name' => 'cistr0016: req=0 must accept undefined value',
# 'schema' => [
# 'cistr',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:cistr) cistr0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:cistr) cistr0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'cistr0017: req=1 must reject undefined value',
# 'schema' => [
# 'cistr',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:cistr) cistr0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:cistr) cistr0017: req=1 must reject undefined value
# {
# 'input' => 'a',
# 'name' => 'cistr0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'cistr',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:cistr) cistr0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:cistr) cistr0018: forbidden=0 must accept defined value
# {
# 'input' => 'a',
# 'name' => 'cistr0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'cistr',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:cistr) cistr0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:cistr) cistr0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'cistr0020: default: must accept valid default a',
# 'schema' => [
# 'cistr*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:cistr) cistr0020: default: must accept valid default a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:cistr) cistr0020: default: must accept valid default a
# {
# 'input' => undef,
# 'name' => 'cistr0021: default: must reject invalid default []',
# 'schema' => [
# 'cistr*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:cistr) cistr0021: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:cistr) cistr0021: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0022: clause (dies, unknown clause)',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:cistr) cistr0022: clause (dies, unknown clause)
# {
# 'input' => 'a',
# 'name' => 'cistr0023: clause (ok)',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'match',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clause, type, type:cistr) cistr0023: clause (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'match',
# 'a'
# ],
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:cistr) cistr0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0025: clause (nok)',
# 'schema' => [
# 'cistr*',
# 'clause',
# [
# 'match',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:cistr) cistr0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:cistr) cistr0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0026: clset (dies, unknown clause)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:cistr) cistr0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0027: clset (dies, unknown attr)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:cistr) cistr0027: clset (dies, unknown attr)
# {
# 'input' => 'a',
# 'name' => 'cistr0028: clset (empty = ok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0028: clset (empty = ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:cistr) cistr0029: clset (ignored clause/attr = ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0030: clset (ok + ok = ok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:cistr) cistr0030: clset (ok + ok = ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'match' => 'a'
# },
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:cistr) cistr0031: clset (ok) + clause nok = nok
# {
# 'input' => 'a',
# 'name' => 'cistr0032: clset (ok + nok = nok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:cistr) cistr0032: clset (ok + nok = nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0033: clset (nok + ok = nok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:cistr) cistr0033: clset (nok + ok = nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0034: clset (nok + nok = nok)',
# 'schema' => [
# 'cistr*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:cistr) cistr0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:cistr) cistr0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'cistr0035: ok',
# 'schema' => [
# 'cistr',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:cistr) cistr0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:cistr) cistr0035: ok
# {
# 'input' => undef,
# 'name' => 'cistr0036: ok + op not (nok)',
# 'schema' => [
# 'cistr',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:cistr) cistr0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:cistr) cistr0036: ok + op not (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:cistr) cistr0037: .err_level=error (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'cistr0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:cistr) cistr0038: .err_level=error (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:cistr) cistr0039: .err_level=warn (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'cistr0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'cistr*',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:cistr) cistr0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:cistr) cistr0040: .err_level=warn (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0041: is: must accept same value',
# 'schema' => [
# 'cistr',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:cistr) cistr0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:cistr) cistr0041: is: must accept same value
# {
# 'input' => 'a',
# 'name' => 'cistr0042: is: must reject different value',
# 'schema' => [
# 'cistr',
# 'is',
# 'B'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:cistr) cistr0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:cistr) cistr0042: is: must reject different value
# {
# 'input' => 'a',
# 'name' => 'cistr0043: !is (nok)',
# 'schema' => [
# 'cistr',
# '!is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0043: !is (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0044: !is (ok)',
# 'schema' => [
# 'cistr',
# '!is',
# 'B'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:cistr) cistr0044: !is (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0045: is.op=not (nok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'a',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:cistr) cistr0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:cistr) cistr0045: is.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0046: is.op=not (ok)',
# 'schema' => [
# 'cistr',
# 'is',
# 'B',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:cistr) cistr0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:cistr) cistr0046: is.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0047: is& (no items)',
# 'schema' => [
# 'cistr',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0047: is& (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0048: is& (ok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0049: is& (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'B',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0050: is& (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0051: is& (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is&',
# [
# 'B',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) cistr0051: is& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0052: is.op=and (no items)',
# 'schema' => [
# 'cistr',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0052: is.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0053: is.op=and (ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:cistr) cistr0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0054: is.op=and (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:cistr) cistr0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0055: is.op=and (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'B'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:cistr) cistr0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0056: is.op=and (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'B'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:cistr) cistr0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:cistr) cistr0056: is.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0057: is| (no items)',
# 'schema' => [
# 'cistr',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0057: is| (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0058: is| (ok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0058: is| (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0059: is| (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'B',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0059: is| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0060: is| (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0061: is| (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is|',
# [
# 'B',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) cistr0061: is| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0062: is.op=or (no items)',
# 'schema' => [
# 'cistr',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:cistr) cistr0062: is.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0063: is.op=or (ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:cistr) cistr0063: is.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0064: is.op=or (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:cistr) cistr0064: is.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0065: is.op=or (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'B'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:cistr) cistr0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0066: is.op=or (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'B'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:cistr) cistr0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:cistr) cistr0066: is.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0067: is.op=none (empty items)',
# 'schema' => [
# 'cistr',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:cistr) cistr0067: is.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'cistr0068: is.op=none (nok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'B'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:cistr) cistr0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0069: is.op=none (nok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'B',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:cistr) cistr0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0070: is.op=none (ok + nok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'B'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:cistr) cistr0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0071: is.op=none (ok + ok)',
# 'schema' => [
# 'cistr',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:cistr) cistr0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:cistr) cistr0071: is.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0072: in: must accept valid choices',
# 'schema' => [
# 'cistr',
# 'in',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:cistr) cistr0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:cistr) cistr0072: in: must accept valid choices
# {
# 'input' => 'a',
# 'name' => 'cistr0073: in: must reject empty choices',
# 'schema' => [
# 'cistr',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:cistr) cistr0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:cistr) cistr0073: in: must reject empty choices
# {
# 'input' => 'a',
# 'name' => 'cistr0074: !in (nok)',
# 'schema' => [
# 'cistr',
# '!in',
# [
# 'a',
# 'B'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0074: !in (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0075: !in (ok)',
# 'schema' => [
# 'cistr',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:cistr) cistr0075: !in (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0076: in.op=not (nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# 'a',
# 'B'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:cistr) cistr0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:cistr) cistr0076: in.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0077: in.op=not (ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:cistr) cistr0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:cistr) cistr0077: in.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0078: in& (no items)',
# 'schema' => [
# 'cistr',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0078: in& (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0079: in& (ok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0080: in& (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0081: in& (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [
# 'a',
# 'B'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0082: in& (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) cistr0082: in& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0083: in.op=and (no items)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:cistr) cistr0083: in.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0084: in.op=and (ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:cistr) cistr0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0085: in.op=and (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:cistr) cistr0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0086: in.op=and (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:cistr) cistr0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0087: in.op=and (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:cistr) cistr0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:cistr) cistr0087: in.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0088: in| (no items)',
# 'schema' => [
# 'cistr',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0088: in| (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0089: in| (ok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0089: in| (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0090: in| (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0090: in| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0091: in| (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [
# 'a',
# 'B'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0092: in| (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) cistr0092: in| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0093: in.op=or (no items)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:cistr) cistr0093: in.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'cistr0094: in.op=or (ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:cistr) cistr0094: in.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0095: in.op=or (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:cistr) cistr0095: in.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0096: in.op=or (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:cistr) cistr0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0097: in.op=or (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:cistr) cistr0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:cistr) cistr0097: in.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0098: in.op=none (empty items)',
# 'schema' => [
# 'cistr',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:cistr) cistr0098: in.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'cistr0099: in.op=none (nok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:cistr) cistr0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0100: in.op=none (nok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:cistr) cistr0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0101: in.op=none (ok + nok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:cistr) cistr0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'cistr0102: in.op=none (ok + ok)',
# 'schema' => [
# 'cistr',
# 'in',
# [
# [
# 'a',
# 'B'
# ],
# [
# 'a',
# 'B'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:cistr) cistr0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:cistr) cistr0102: in.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0103: min: a ',
# 'schema' => [
# 'cistr',
# 'min',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:cistr) cistr0103: min: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:cistr) cistr0103: min: a
# {
# 'input' => 'a',
# 'name' => 'cistr0104: min: a a',
# 'schema' => [
# 'cistr',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:cistr) cistr0104: min: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:cistr) cistr0104: min: a a
# {
# 'input' => '',
# 'name' => 'cistr0105: min: a -> fail',
# 'schema' => [
# 'cistr',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:cistr) cistr0105: min: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:cistr) cistr0105: min: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0106: xmin: a ',
# 'schema' => [
# 'cistr',
# 'xmin',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:cistr) cistr0106: xmin: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:cistr) cistr0106: xmin: a
# {
# 'input' => 'a',
# 'name' => 'cistr0107: xmin: a a -> fail',
# 'schema' => [
# 'cistr',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:cistr) cistr0107: xmin: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:cistr) cistr0107: xmin: a a -> fail
# {
# 'input' => '',
# 'name' => 'cistr0108: xmin: a -> fail',
# 'schema' => [
# 'cistr',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:cistr) cistr0108: xmin: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:cistr) cistr0108: xmin: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0109: max: a -> fail',
# 'schema' => [
# 'cistr',
# 'max',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:cistr) cistr0109: max: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:cistr) cistr0109: max: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0110: max: a a',
# 'schema' => [
# 'cistr',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:cistr) cistr0110: max: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:cistr) cistr0110: max: a a
# {
# 'input' => '',
# 'name' => 'cistr0111: max: a',
# 'schema' => [
# 'cistr',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:cistr) cistr0111: max: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:cistr) cistr0111: max: a
# {
# 'input' => 'a',
# 'name' => 'cistr0112: xmax: a -> fail',
# 'schema' => [
# 'cistr',
# 'xmax',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:cistr) cistr0112: xmax: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:cistr) cistr0112: xmax: a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0113: xmax: a a -> fail',
# 'schema' => [
# 'cistr',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:cistr) cistr0113: xmax: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:cistr) cistr0113: xmax: a a -> fail
# {
# 'input' => '',
# 'name' => 'cistr0114: xmax: a',
# 'schema' => [
# 'cistr',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:cistr) cistr0114: xmax: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:cistr) cistr0114: xmax: a
# {
# 'input' => 'a',
# 'name' => 'cistr0115: between: a & Ab',
# 'schema' => [
# 'cistr',
# 'between',
# [
# '',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0115: between: a & Ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:cistr) cistr0115: between: a & Ab
# {
# 'input' => 'a',
# 'name' => 'cistr0116: between: a & a',
# 'schema' => [
# 'cistr',
# 'between',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0116: between: a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:cistr) cistr0116: between: a & a
# {
# 'input' => 'a',
# 'name' => 'cistr0117: between: a a & a',
# 'schema' => [
# 'cistr',
# 'between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0117: between: a a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:cistr) cistr0117: between: a a & a
# {
# 'input' => '',
# 'name' => 'cistr0118: between: a & Ab -> fail',
# 'schema' => [
# 'cistr',
# 'between',
# [
# 'a',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:cistr) cistr0118: between: a & Ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, type, type:cistr) cistr0118: between: a & Ab -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0119: xbetween: a & Ab',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# '',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0119: xbetween: a & Ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:cistr) cistr0119: xbetween: a & Ab
# {
# 'input' => 'a',
# 'name' => 'cistr0120: xbetween: a & a -> fail',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0120: xbetween: a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:cistr) cistr0120: xbetween: a & a -> fail
# {
# 'input' => 'a',
# 'name' => 'cistr0121: xbetween: a a & a -> fail',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0121: xbetween: a a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:cistr) cistr0121: xbetween: a a & a -> fail
# {
# 'input' => '',
# 'name' => 'cistr0122: xbetween: a & Ab -> fail',
# 'schema' => [
# 'cistr',
# 'xbetween',
# [
# 'a',
# 'Ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:cistr) cistr0122: xbetween: a & Ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:cistr) cistr0122: xbetween: a & Ab -> fail
# {
# 'input' => '',
# 'name' => 'cistr0123: !between (nok)',
# 'schema' => [
# 'cistr',
# '!between',
# [
# '',
# ''
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0123: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0123: !between (nok)
# {
# 'input' => '',
# 'name' => 'cistr0124: !between (ok)',
# 'schema' => [
# 'cistr',
# '!between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0124: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:cistr) cistr0124: !between (ok)
# {
# 'input' => '',
# 'name' => 'cistr0125: between.op=not (nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# '',
# ''
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:cistr) cistr0125: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, type, type:cistr) cistr0125: between.op=not (nok)
# {
# 'input' => '',
# 'name' => 'cistr0126: between.op=not (ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# 'a',
# 'a'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:cistr) cistr0126: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:cistr) cistr0126: between.op=not (ok)
# {
# 'input' => '',
# 'name' => 'cistr0127: between& (no items)',
# 'schema' => [
# 'cistr',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0127: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0127: between& (no items)
# {
# 'input' => '',
# 'name' => 'cistr0128: between& (ok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0128: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0128: between& (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0129: between& (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0129: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0129: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0130: between& (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0130: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0130: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0131: between& (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0131: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) cistr0131: between& (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0132: between.op=and (no items)',
# 'schema' => [
# 'cistr',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:cistr) cistr0132: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=type, type:cistr) cistr0132: between.op=and (no items)
# {
# 'input' => '',
# 'name' => 'cistr0133: between.op=and (ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0133: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, type, type:cistr) cistr0133: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0134: between.op=and (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0134: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:cistr) cistr0134: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0135: between.op=and (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0135: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:cistr) cistr0135: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0136: between.op=and (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:cistr) cistr0136: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:cistr) cistr0136: between.op=and (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0137: between| (no items)',
# 'schema' => [
# 'cistr',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0137: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0137: between| (no items)
# {
# 'input' => '',
# 'name' => 'cistr0138: between| (ok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0138: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0138: between| (ok)
# {
# 'input' => '',
# 'name' => 'cistr0139: between| (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0139: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0139: between| (nok + ok)
# {
# 'input' => '',
# 'name' => 'cistr0140: between| (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0140: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0140: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0141: between| (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0141: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) cistr0141: between| (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0142: between.op=or (no items)',
# 'schema' => [
# 'cistr',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0142: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, type, type:cistr) cistr0142: between.op=or (no items)
# {
# 'input' => '',
# 'name' => 'cistr0143: between.op=or (ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0143: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:cistr) cistr0143: between.op=or (ok)
# {
# 'input' => '',
# 'name' => 'cistr0144: between.op=or (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0144: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:cistr) cistr0144: between.op=or (nok + ok)
# {
# 'input' => '',
# 'name' => 'cistr0145: between.op=or (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0145: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:cistr) cistr0145: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0146: between.op=or (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:cistr) cistr0146: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:cistr) cistr0146: between.op=or (nok + nok)
# {
# 'input' => '',
# 'name' => 'cistr0147: between.op=none (empty items)',
# 'schema' => [
# 'cistr',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0147: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:none, type, type:cistr) cistr0147: between.op=none (empty items)
# {
# 'input' => '',
# 'name' => 'cistr0148: between.op=none (nok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0148: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:cistr) cistr0148: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0149: between.op=none (nok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0149: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:cistr) cistr0149: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0150: between.op=none (ok + nok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0150: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:cistr) cistr0150: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'cistr0151: between.op=none (ok + ok)',
# 'schema' => [
# 'cistr',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:cistr) cistr0151: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:cistr) cistr0151: between.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0152: len (ok)',
# 'schema' => [
# 'cistr',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:cistr) cistr0152: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:len, type, type:cistr) cistr0152: len (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0153: len (nok)',
# 'schema' => [
# 'cistr',
# 'len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:cistr) cistr0153: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:len, type, type:cistr) cistr0153: len (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0154: min_len (ok)',
# 'schema' => [
# 'cistr',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:cistr) cistr0154: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:min_len, type, type:cistr) cistr0154: min_len (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0155: min_len (nok)',
# 'schema' => [
# 'cistr',
# 'min_len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:cistr) cistr0155: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:min_len, type, type:cistr) cistr0155: min_len (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0156: max_len (ok)',
# 'schema' => [
# 'cistr',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:cistr) cistr0156: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:max_len, type, type:cistr) cistr0156: max_len (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0157: max_len (nok)',
# 'schema' => [
# 'cistr',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:cistr) cistr0157: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=clause:max_len, type, type:cistr) cistr0157: max_len (nok)
# {
# 'input' => 'a',
# 'name' => 'cistr0158: len_between (ok)',
# 'schema' => [
# 'cistr',
# 'len_between',
# [
# 1,
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:cistr) cistr0158: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=clause:len_between, type, type:cistr) cistr0158: len_between (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0159: len_between (nok)',
# 'schema' => [
# 'cistr',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:cistr) cistr0159: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=clause:len_between, type, type:cistr) cistr0159: len_between (nok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0160: each_index (ok)',
# 'schema' => [
# 'cistr',
# 'each_index',
# [
# 'int',
# 'max',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:cistr) cistr0160: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=clause:each_index, type, type:cistr) cistr0160: each_index (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0161: each_index (nok)',
# 'schema' => [
# 'cistr',
# 'each_index',
# [
# 'int',
# 'xmax',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:cistr) cistr0161: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=clause:each_index, type, type:cistr) cistr0161: each_index (nok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0162: each_elem (ok)',
# 'schema' => [
# 'cistr',
# 'each_elem',
# 'cistr'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:cistr) cistr0162: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=clause:each_elem, type, type:cistr) cistr0162: each_elem (ok)
# {
# 'input' => 'abc',
# 'name' => 'cistr0163: each_elem (nok)',
# 'schema' => [
# 'cistr',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:cistr) cistr0163: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=clause:each_elem, type, type:cistr) cistr0163: each_elem (nok)
# {
# 'invalid_inputs' => [
# '',
# 'c'
# ],
# 'name' => 'cistr0170: has',
# 'schema' => [
# 'cistr',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has'
# ],
# 'valid_inputs' => [
# 'abc',
# 'Ac'
# ]
# }
# Subtest: (tags=clause:has, type, type:cistr) cistr0170: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 164 - (tags=clause:has, type, type:cistr) cistr0170: has
# {
# 'invalid_inputs' => [
# 'abc',
# 'Ac'
# ],
# 'name' => 'cistr0171: has + op.not',
# 'schema' => [
# 'cistr',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# '',
# 'c'
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:cistr) cistr0171: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:cistr) cistr0171: has + op.not
# {
# 'invalid_inputs' => [
# '',
# 'c'
# ],
# 'name' => 'cistr0172: has + op.or',
# 'schema' => [
# 'cistr',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc',
# 'Ac'
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:cistr) cistr0172: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:cistr) cistr0172: has + op.or
# {
# 'invalid_inputs' => [
# 'Ac',
# '',
# 'c'
# ],
# 'name' => 'cistr0173: has + op.and',
# 'schema' => [
# 'cistr',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc'
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:cistr) cistr0173: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - validator (rt=full) returns hash
1..6
ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:cistr) cistr0173: has + op.and
# {
# 'input' => 'a',
# 'name' => 'cistr0177: encoding: (ok)',
# 'schema' => [
# 'cistr',
# 'encoding',
# 'utf8'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:encoding'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:encoding, type, type:cistr) cistr0177: encoding: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=clause:encoding, type, type:cistr) cistr0177: encoding: (ok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0178: encoding: (dies, unknown encoding)',
# 'schema' => [
# 'cistr',
# 'encoding',
# 'foo'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:encoding'
# ]
# }
# Subtest: (tags=clause:encoding, type, type:cistr) cistr0178: encoding: (dies, unknown encoding)
ok 1 - compile error
1..1
ok 169 - (tags=clause:encoding, type, type:cistr) cistr0178: encoding: (dies, unknown encoding)
# {
# 'input' => 'A',
# 'name' => 'cistr0179: match: (ok)',
# 'schema' => [
# 'cistr',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:match'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:match, type, type:cistr) cistr0179: match: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=clause:match, type, type:cistr) cistr0179: match: (ok)
# {
# 'input' => 'z',
# 'name' => 'cistr0180: match: (nok)',
# 'schema' => [
# 'cistr',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:match'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:match, type, type:cistr) cistr0180: match: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=clause:match, type, type:cistr) cistr0180: match: (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'cistr0181: match: (dies, invalid regex)',
# 'schema' => [
# 'cistr',
# 'match',
# '('
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:match'
# ]
# }
# Subtest: (tags=clause:match, type, type:cistr) cistr0181: match: (dies, invalid regex)
ok 1 - compile error
1..1
ok 172 - (tags=clause:match, type, type:cistr) cistr0181: match: (dies, invalid regex)
# {
# 'input' => 'a',
# 'name' => 'cistr0182: is_re: 1 (ok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0182: is_re: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=clause:is_re, type, type:cistr) cistr0182: is_re: 1 (ok)
# {
# 'input' => 'a(',
# 'name' => 'cistr0183: is_re: 1 (nok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0183: is_re: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=clause:is_re, type, type:cistr) cistr0183: is_re: 1 (nok)
# {
# 'input' => 'a(',
# 'name' => 'cistr0184: is_re: 0 (ok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0184: is_re: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=clause:is_re, type, type:cistr) cistr0184: is_re: 0 (ok)
# {
# 'input' => 'a',
# 'name' => 'cistr0185: is_re: 0 (nok)',
# 'schema' => [
# 'cistr',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:cistr',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:cistr) cistr0185: is_re: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=clause:is_re, type, type:cistr) cistr0185: is_re: 0 (nok)
ok 177
1..177
ok 8 - 10-type-cistr.json
# Subtest: 10-type-float.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => '-1.1',
# 'name' => 'float0001: type check: must accept -1.1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0001: type check: must accept -1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0001: type check: must accept -1.1
# {
# 'input' => -1,
# 'name' => 'float0002: type check: must accept -1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0002: type check: must accept -1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0002: type check: must accept -1
# {
# 'input' => 0,
# 'name' => 'float0003: type check: must accept 0',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0003: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0003: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'float0004: type check: must accept 1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0004: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0004: type check: must accept 1
# {
# 'input' => '1.1',
# 'name' => 'float0005: type check: must accept 1.1',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0005: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0005: type check: must accept 1.1
# {
# 'input' => 'a',
# 'name' => 'float0006: type check: must reject a',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:float) float0006: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:float) float0006: type check: must reject a
# {
# 'input' => [],
# 'name' => 'float0007: type check: must reject []',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:float) float0007: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:float) float0007: type check: must reject []
# {
# 'input' => {},
# 'name' => 'float0008: type check: must reject {}',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:float) float0008: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:float) float0008: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'float0009: must accept undefined value',
# 'schema' => 'float',
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0009: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0009: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'float0010: defhash_v',
# 'schema' => [
# 'float',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:float) float0010: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:float) float0010: defhash_v
# {
# 'input' => undef,
# 'name' => 'float0011: v',
# 'schema' => [
# 'float',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:float) float0011: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:float) float0011: v
# {
# 'input' => undef,
# 'name' => 'float0012: c',
# 'schema' => [
# 'float',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:float) float0012: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:float) float0012: c
# {
# 'input' => undef,
# 'name' => 'float0013: default_lang',
# 'schema' => [
# 'float',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:float) float0013: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:float) float0013: default_lang
# {
# 'input' => undef,
# 'name' => 'float0014: name',
# 'schema' => [
# 'float',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:float) float0014: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:float) float0014: name
# {
# 'input' => undef,
# 'name' => 'float0015: summary',
# 'schema' => [
# 'float',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:float) float0015: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:float) float0015: summary
# {
# 'input' => undef,
# 'name' => 'float0016: description',
# 'schema' => [
# 'float',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:float) float0016: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:float) float0016: description
# {
# 'input' => undef,
# 'name' => 'float0017: tags',
# 'schema' => [
# 'float',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:float) float0017: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:float) float0017: tags
# {
# 'input' => undef,
# 'name' => 'float0018: req=0 must accept undefined value',
# 'schema' => [
# 'float',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:float) float0018: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:req, type, type:float) float0018: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'float0019: req=1 must reject undefined value',
# 'schema' => [
# 'float',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:float) float0019: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:float) float0019: req=1 must reject undefined value
# {
# 'input' => '1.1',
# 'name' => 'float0020: forbidden=0 must accept defined value',
# 'schema' => [
# 'float',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:float) float0020: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:float) float0020: forbidden=0 must accept defined value
# {
# 'input' => '1.1',
# 'name' => 'float0021: forbidden=1 must reject defined value',
# 'schema' => [
# 'float',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:float) float0021: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:forbidden, type, type:float) float0021: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'float0022: default: must accept valid default 1.1',
# 'schema' => [
# 'float*',
# 'default',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:float) float0022: default: must accept valid default 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:float) float0022: default: must accept valid default 1.1
# {
# 'input' => undef,
# 'name' => 'float0023: default: must reject invalid default []',
# 'schema' => [
# 'float*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:float) float0023: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:default, type, type:float) float0023: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'float0024: clause (dies, unknown clause)',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:float) float0024: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 24 - (tags=clause:clause, type, type:float) float0024: clause (dies, unknown clause)
# {
# 'input' => '1.1',
# 'name' => 'float0025: clause (ok)',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'min',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:float) float0025: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:float) float0025: clause (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0026: clause (ok) + clause nok = nok',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'min',
# 1
# ],
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:float) float0026: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:float) float0026: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0027: clause (nok)',
# 'schema' => [
# 'float*',
# 'clause',
# [
# 'min',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:float) float0027: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:float) float0027: clause (nok)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'float0028: clset (dies, unknown clause)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:float) float0028: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 28 - (tags=clause:clset, type, type:float) float0028: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'float0029: clset (dies, unknown attr)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:float) float0029: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 29 - (tags=clause:clset, type, type:float) float0029: clset (dies, unknown attr)
# {
# 'input' => '1.1',
# 'name' => 'float0030: clset (empty = ok)',
# 'schema' => [
# 'float*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0030: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0030: clset (empty = ok)
# {
# 'input' => '1.1',
# 'name' => 'float0031: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:float) float0031: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:float) float0031: clset (ignored clause/attr = ok)
# {
# 'input' => '1.1',
# 'name' => 'float0032: clset (ok + ok = ok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:float) float0032: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:float) float0032: clset (ok + ok = ok)
# {
# 'input' => '1.1',
# 'name' => 'float0033: clset (ok) + clause nok = nok',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'min' => 1
# },
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0033: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:float) float0033: clset (ok) + clause nok = nok
# {
# 'input' => '1.1',
# 'name' => 'float0034: clset (ok + nok = nok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0034: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:float) float0034: clset (ok + nok = nok)
# {
# 'input' => '1.1',
# 'name' => 'float0035: clset (nok + ok = nok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0035: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:float) float0035: clset (nok + ok = nok)
# {
# 'input' => '1.1',
# 'name' => 'float0036: clset (nok + nok = nok)',
# 'schema' => [
# 'float*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:float) float0036: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:float) float0036: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'float0037: ok',
# 'schema' => [
# 'float',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:float) float0037: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:float) float0037: ok
# {
# 'input' => undef,
# 'name' => 'float0038: ok + op not (nok)',
# 'schema' => [
# 'float',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:float) float0038: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=clause:ok, op, op:not, type, type:float) float0038: ok + op not (nok)
# {
# 'input' => '0.1',
# 'name' => 'float0039: .err_level=error (clause=min, ok)',
# 'schema' => [
# 'float',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0039: .err_level=error (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:float) float0039: .err_level=error (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'float0040: .err_level=error (clause=min, nok)',
# 'schema' => [
# 'float',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0040: .err_level=error (clause=min, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:float) float0040: .err_level=error (clause=min, nok)
# {
# 'input' => '0.1',
# 'name' => 'float0041: .err_level=warn (clause=min, ok)',
# 'schema' => [
# 'float',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0041: .err_level=warn (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=attr, attr:err_level, type, type:float) float0041: .err_level=warn (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'float0042: .err_level=warn (clause=min, nok)',
# 'schema' => [
# 'float*',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:float) float0042: .err_level=warn (clause=min, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:float) float0042: .err_level=warn (clause=min, nok)
# {
# 'input' => '1.1',
# 'name' => 'float0043: is: must accept same value',
# 'schema' => [
# 'float',
# 'is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:float) float0043: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, type, type:float) float0043: is: must accept same value
# {
# 'input' => '1.1',
# 'name' => 'float0044: is: must reject different value',
# 'schema' => [
# 'float',
# 'is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:float) float0044: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:float) float0044: is: must reject different value
# {
# 'input' => '1.1',
# 'name' => 'float0045: !is (nok)',
# 'schema' => [
# 'float',
# '!is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:float) float0045: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:float) float0045: !is (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0046: !is (ok)',
# 'schema' => [
# 'float',
# '!is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:float) float0046: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, opshortcut, type, type:float) float0046: !is (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0047: is.op=not (nok)',
# 'schema' => [
# 'float',
# 'is',
# '1.1',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:float) float0047: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:float) float0047: is.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0048: is.op=not (ok)',
# 'schema' => [
# 'float',
# 'is',
# '1.2',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:float) float0048: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:float) float0048: is.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0049: is& (no items)',
# 'schema' => [
# 'float',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0049: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0049: is& (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0050: is& (ok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0050: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0050: is& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0051: is& (nok + ok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0051: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0051: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0052: is& (ok + nok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0052: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0052: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0053: is& (nok + nok)',
# 'schema' => [
# 'float',
# 'is&',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) float0053: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) float0053: is& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0054: is.op=and (no items)',
# 'schema' => [
# 'float',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0054: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0054: is.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0055: is.op=and (ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0055: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:float) float0055: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0056: is.op=and (nok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0056: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:float) float0056: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0057: is.op=and (ok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0057: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:float) float0057: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0058: is.op=and (nok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:float) float0058: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:float) float0058: is.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0059: is| (no items)',
# 'schema' => [
# 'float',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0059: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0059: is| (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0060: is| (ok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0060: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0060: is| (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0061: is| (nok + ok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0061: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0061: is| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0062: is| (ok + nok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0062: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0062: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0063: is| (nok + nok)',
# 'schema' => [
# 'float',
# 'is|',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) float0063: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) float0063: is| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0064: is.op=or (no items)',
# 'schema' => [
# 'float',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0064: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:float) float0064: is.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0065: is.op=or (ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0065: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:float) float0065: is.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0066: is.op=or (nok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0066: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:float) float0066: is.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0067: is.op=or (ok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0067: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:float) float0067: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0068: is.op=or (nok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:float) float0068: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:float) float0068: is.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0069: is.op=none (empty items)',
# 'schema' => [
# 'float',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0069: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:float) float0069: is.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'float0070: is.op=none (nok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0070: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:float) float0070: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0071: is.op=none (nok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0071: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:float) float0071: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0072: is.op=none (ok + nok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0072: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:float) float0072: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0073: is.op=none (ok + ok)',
# 'schema' => [
# 'float',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:float) float0073: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:float) float0073: is.op=none (ok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0074: in: must accept valid choices',
# 'schema' => [
# 'float',
# 'in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:float) float0074: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, type, type:float) float0074: in: must accept valid choices
# {
# 'input' => '1.1',
# 'name' => 'float0075: in: must reject empty choices',
# 'schema' => [
# 'float',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:float) float0075: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:float) float0075: in: must reject empty choices
# {
# 'input' => '1.1',
# 'name' => 'float0076: !in (nok)',
# 'schema' => [
# 'float',
# '!in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:float) float0076: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:float) float0076: !in (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0077: !in (ok)',
# 'schema' => [
# 'float',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:float) float0077: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, opshortcut, type, type:float) float0077: !in (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0078: in.op=not (nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# '1.1',
# '1.2'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:float) float0078: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:float) float0078: in.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'float0079: in.op=not (ok)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:float) float0079: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:float) float0079: in.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0080: in& (no items)',
# 'schema' => [
# 'float',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0080: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0080: in& (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0081: in& (ok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0081: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0081: in& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0082: in& (nok + ok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0082: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0082: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0083: in& (ok + nok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0083: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0083: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0084: in& (nok + nok)',
# 'schema' => [
# 'float',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) float0084: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) float0084: in& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0085: in.op=and (no items)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0085: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:float) float0085: in.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0086: in.op=and (ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0086: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:float) float0086: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0087: in.op=and (nok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0087: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:float) float0087: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0088: in.op=and (ok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0088: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:float) float0088: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0089: in.op=and (nok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:float) float0089: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:float) float0089: in.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0090: in| (no items)',
# 'schema' => [
# 'float',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0090: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0090: in| (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0091: in| (ok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0091: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0091: in| (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0092: in| (nok + ok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0092: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0092: in| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0093: in| (ok + nok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0093: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0093: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0094: in| (nok + nok)',
# 'schema' => [
# 'float',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) float0094: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) float0094: in| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0095: in.op=or (no items)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0095: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:float) float0095: in.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'float0096: in.op=or (ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0096: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:float) float0096: in.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'float0097: in.op=or (nok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0097: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:float) float0097: in.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'float0098: in.op=or (ok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0098: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:float) float0098: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0099: in.op=or (nok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:float) float0099: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:float) float0099: in.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'float0100: in.op=none (empty items)',
# 'schema' => [
# 'float',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0100: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:float) float0100: in.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'float0101: in.op=none (nok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0101: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:float) float0101: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0102: in.op=none (nok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0102: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:float) float0102: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0103: in.op=none (ok + nok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0103: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:float) float0103: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'float0104: in.op=none (ok + ok)',
# 'schema' => [
# 'float',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:float) float0104: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:float) float0104: in.op=none (ok + ok)
# {
# 'input' => '2.1',
# 'name' => 'float0105: min: 2.1 -3.1',
# 'schema' => [
# 'float',
# 'min',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:float) float0105: min: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:float) float0105: min: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'float0106: min: 2.1 2.1',
# 'schema' => [
# 'float',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:float) float0106: min: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:float) float0106: min: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'float0107: min: -3.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:float) float0107: min: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:float) float0107: min: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0108: xmin: 2.1 -3.1',
# 'schema' => [
# 'float',
# 'xmin',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:float) float0108: xmin: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:float) float0108: xmin: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'float0109: xmin: 2.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:float) float0109: xmin: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:float) float0109: xmin: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0110: xmin: -3.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:float) float0110: xmin: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:float) float0110: xmin: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0111: max: 2.1 -3.1 -> fail',
# 'schema' => [
# 'float',
# 'max',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:float) float0111: max: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:float) float0111: max: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0112: max: 2.1 2.1',
# 'schema' => [
# 'float',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:float) float0112: max: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:float) float0112: max: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'float0113: max: -3.1 2.1',
# 'schema' => [
# 'float',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:float) float0113: max: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:float) float0113: max: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'float0114: xmax: 2.1 -3.1 -> fail',
# 'schema' => [
# 'float',
# 'xmax',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:float) float0114: xmax: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:float) float0114: xmax: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0115: xmax: 2.1 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:float) float0115: xmax: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:float) float0115: xmax: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0116: xmax: -3.1 2.1',
# 'schema' => [
# 'float',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:float) float0116: xmax: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:xmax, type, type:float) float0116: xmax: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'float0117: between: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'float',
# 'between',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:float) float0117: between: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:float) float0117: between: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'float0118: between: 2.1 -3.1 & 2.1',
# 'schema' => [
# 'float',
# 'between',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:float) float0118: between: 2.1 -3.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:float) float0118: between: 2.1 -3.1 & 2.1
# {
# 'input' => '2.1',
# 'name' => 'float0119: between: 2.1 2.1 & 2.1',
# 'schema' => [
# 'float',
# 'between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:float) float0119: between: 2.1 2.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:float) float0119: between: 2.1 2.1 & 2.1
# {
# 'input' => '-3.1',
# 'name' => 'float0120: between: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'float',
# 'between',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:float) float0120: between: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, type, type:float) float0120: between: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0121: xbetween: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0121: xbetween: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:float) float0121: xbetween: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'float0122: xbetween: 2.1 -3.1 & 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0122: xbetween: 2.1 -3.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:float) float0122: xbetween: 2.1 -3.1 & 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'float0123: xbetween: 2.1 2.1 & 2.1 -> fail',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0123: xbetween: 2.1 2.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:xbetween, type, type:float) float0123: xbetween: 2.1 2.1 & 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0124: xbetween: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'float',
# 'xbetween',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:float) float0124: xbetween: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:float) float0124: xbetween: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'float0125: !between (nok)',
# 'schema' => [
# 'float',
# '!between',
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:float) float0125: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:float) float0125: !between (nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0126: !between (ok)',
# 'schema' => [
# 'float',
# '!between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:float) float0126: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, opshortcut, type, type:float) float0126: !between (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0127: between.op=not (nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# '-3.1',
# '-3.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:float) float0127: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:not, type, type:float) float0127: between.op=not (nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0128: between.op=not (ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# '2.1',
# '2.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:float) float0128: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:not, type, type:float) float0128: between.op=not (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0129: between& (no items)',
# 'schema' => [
# 'float',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0129: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0129: between& (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0130: between& (ok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0130: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0130: between& (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0131: between& (nok + ok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0131: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0131: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0132: between& (ok + nok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0132: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0132: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0133: between& (nok + nok)',
# 'schema' => [
# 'float',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) float0133: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, opshortcut, type, type:float) float0133: between& (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0134: between.op=and (no items)',
# 'schema' => [
# 'float',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:float) float0134: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=type, type:float) float0134: between.op=and (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0135: between.op=and (ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0135: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:float) float0135: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0136: between.op=and (nok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0136: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:float) float0136: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0137: between.op=and (ok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0137: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:and, type, type:float) float0137: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0138: between.op=and (nok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:float) float0138: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:and, type, type:float) float0138: between.op=and (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0139: between| (no items)',
# 'schema' => [
# 'float',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0139: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0139: between| (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0140: between| (ok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0140: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0140: between| (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0141: between| (nok + ok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0141: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0141: between| (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0142: between| (ok + nok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0142: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0142: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0143: between| (nok + nok)',
# 'schema' => [
# 'float',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) float0143: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, opshortcut, type, type:float) float0143: between| (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0144: between.op=or (no items)',
# 'schema' => [
# 'float',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0144: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:float) float0144: between.op=or (no items)
# {
# 'input' => '-3.1',
# 'name' => 'float0145: between.op=or (ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0145: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:float) float0145: between.op=or (ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0146: between.op=or (nok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0146: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:float) float0146: between.op=or (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'float0147: between.op=or (ok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0147: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:or, type, type:float) float0147: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0148: between.op=or (nok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:float) float0148: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:or, type, type:float) float0148: between.op=or (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'float0149: between.op=none (empty items)',
# 'schema' => [
# 'float',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0149: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:float) float0149: between.op=none (empty items)
# {
# 'input' => '-3.1',
# 'name' => 'float0150: between.op=none (nok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0150: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:float) float0150: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0151: between.op=none (nok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0151: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:float) float0151: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0152: between.op=none (ok + nok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0152: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:between, op, op:none, type, type:float) float0152: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'float0153: between.op=none (ok + ok)',
# 'schema' => [
# 'float',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:float',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:float) float0153: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:between, op, op:none, type, type:float) float0153: between.op=none (ok + ok)
ok 154
1..154
ok 9 - 10-type-float.json
# Subtest: 10-type-hash.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => {},
# 'name' => 'hash0001: type check: must accept {}',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0001: type check: must accept {}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0001: type check: must accept {}
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0002: type check: must accept {a=>1}',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0002: type check: must accept {a=>1}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0002: type check: must accept {a=>1}
# {
# 'input' => {
# '' => []
# },
# 'name' => 'hash0003: type check: must accept {=>[]}',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0003: type check: must accept {=>[]}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0003: type check: must accept {=>[]}
# {
# 'input' => 1,
# 'name' => 'hash0004: type check: must reject 1',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0004: type check: must reject 1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:hash) hash0004: type check: must reject 1
# {
# 'input' => 'a',
# 'name' => 'hash0005: type check: must reject a',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0005: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:hash) hash0005: type check: must reject a
# {
# 'input' => [],
# 'name' => 'hash0006: type check: must reject []',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0006: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:hash) hash0006: type check: must reject []
# {
# 'input' => undef,
# 'name' => 'hash0007: must accept undefined value',
# 'schema' => 'hash',
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'hash0008: defhash_v',
# 'schema' => [
# 'hash',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:hash) hash0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:hash) hash0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'hash0009: v',
# 'schema' => [
# 'hash',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:hash) hash0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:hash) hash0009: v
# {
# 'input' => undef,
# 'name' => 'hash0010: c',
# 'schema' => [
# 'hash',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:hash) hash0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:hash) hash0010: c
# {
# 'input' => undef,
# 'name' => 'hash0011: default_lang',
# 'schema' => [
# 'hash',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:hash) hash0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:hash) hash0011: default_lang
# {
# 'input' => undef,
# 'name' => 'hash0012: name',
# 'schema' => [
# 'hash',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:hash) hash0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:hash) hash0012: name
# {
# 'input' => undef,
# 'name' => 'hash0013: summary',
# 'schema' => [
# 'hash',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:hash) hash0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:hash) hash0013: summary
# {
# 'input' => undef,
# 'name' => 'hash0014: description',
# 'schema' => [
# 'hash',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:hash) hash0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:hash) hash0014: description
# {
# 'input' => undef,
# 'name' => 'hash0015: tags',
# 'schema' => [
# 'hash',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:hash) hash0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:hash) hash0015: tags
# {
# 'input' => undef,
# 'name' => 'hash0016: req=0 must accept undefined value',
# 'schema' => [
# 'hash',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:hash) hash0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:hash) hash0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'hash0017: req=1 must reject undefined value',
# 'schema' => [
# 'hash',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:hash) hash0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:hash) hash0017: req=1 must reject undefined value
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'hash',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:hash) hash0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:hash) hash0018: forbidden=0 must accept defined value
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'hash',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:hash) hash0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:hash) hash0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'hash0020: default: must accept valid default {}',
# 'schema' => [
# 'hash*',
# 'default',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:hash) hash0020: default: must accept valid default {}
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:hash) hash0020: default: must accept valid default {}
# {
# 'input' => undef,
# 'name' => 'hash0021: default: must reject invalid default a',
# 'schema' => [
# 'hash*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:hash) hash0021: default: must reject invalid default a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:hash) hash0021: default: must reject invalid default a
# {
# 'dies' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0022: clause (dies, unknown clause)',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:hash) hash0022: clause (dies, unknown clause)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0023: clause (ok)',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'min_len',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clause, type, type:hash) hash0023: clause (ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'min_len',
# 1
# ],
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:hash) hash0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0025: clause (nok)',
# 'schema' => [
# 'hash*',
# 'clause',
# [
# 'min_len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:hash) hash0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:hash) hash0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0026: clset (dies, unknown clause)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:hash) hash0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0027: clset (dies, unknown attr)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:hash) hash0027: clset (dies, unknown attr)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0028: clset (empty = ok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0028: clset (empty = ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:hash) hash0029: clset (ignored clause/attr = ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0030: clset (ok + ok = ok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:hash) hash0030: clset (ok + ok = ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'min_len' => 1
# },
# 'max_len',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:hash) hash0031: clset (ok) + clause nok = nok
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0032: clset (ok + nok = nok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:hash) hash0032: clset (ok + nok = nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0033: clset (nok + ok = nok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 1,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:hash) hash0033: clset (nok + ok = nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0034: clset (nok + nok = nok)',
# 'schema' => [
# 'hash*',
# 'clset',
# {
# 'max_len' => 0,
# 'min_len' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:hash) hash0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:hash) hash0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'hash0035: ok',
# 'schema' => [
# 'hash',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:hash) hash0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:hash) hash0035: ok
# {
# 'input' => undef,
# 'name' => 'hash0036: ok + op not (nok)',
# 'schema' => [
# 'hash',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:hash) hash0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:hash) hash0036: ok + op not (nok)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:hash) hash0037: .err_level=error (clause=is, ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:hash) hash0038: .err_level=error (clause=is, nok)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 0
# },
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:hash) hash0039: .err_level=warn (clause=is, ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'hash*',
# 'is',
# {
# 'a' => 0
# },
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:hash) hash0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:hash) hash0040: .err_level=warn (clause=is, nok)
# {
# 'input' => {},
# 'name' => 'hash0041: is: must accept same value',
# 'schema' => [
# 'hash',
# 'is',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:hash) hash0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:hash) hash0041: is: must accept same value
# {
# 'input' => {},
# 'name' => 'hash0042: is: must reject different value',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:hash) hash0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:hash) hash0042: is: must reject different value
# {
# 'input' => {},
# 'name' => 'hash0043: !is (nok)',
# 'schema' => [
# 'hash',
# '!is',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0043: !is (nok)
# {
# 'input' => {},
# 'name' => 'hash0044: !is (ok)',
# 'schema' => [
# 'hash',
# '!is',
# {
# 'a' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:hash) hash0044: !is (ok)
# {
# 'input' => {},
# 'name' => 'hash0045: is.op=not (nok)',
# 'schema' => [
# 'hash',
# 'is',
# {},
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:hash) hash0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:hash) hash0045: is.op=not (nok)
# {
# 'input' => {},
# 'name' => 'hash0046: is.op=not (ok)',
# 'schema' => [
# 'hash',
# 'is',
# {
# 'a' => 1
# },
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:hash) hash0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:hash) hash0046: is.op=not (ok)
# {
# 'input' => {},
# 'name' => 'hash0047: is& (no items)',
# 'schema' => [
# 'hash',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0047: is& (no items)
# {
# 'input' => {},
# 'name' => 'hash0048: is& (ok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {},
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0049: is& (nok + ok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {
# 'a' => 1
# },
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0050: is& (ok + nok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0051: is& (nok + nok)',
# 'schema' => [
# 'hash',
# 'is&',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) hash0051: is& (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0052: is.op=and (no items)',
# 'schema' => [
# 'hash',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0052: is.op=and (no items)
# {
# 'input' => {},
# 'name' => 'hash0053: is.op=and (ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {}
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:hash) hash0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0054: is.op=and (nok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {}
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:hash) hash0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0055: is.op=and (ok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:hash) hash0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0056: is.op=and (nok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:hash) hash0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:hash) hash0056: is.op=and (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0057: is| (no items)',
# 'schema' => [
# 'hash',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0057: is| (no items)
# {
# 'input' => {},
# 'name' => 'hash0058: is| (ok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {},
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0058: is| (ok)
# {
# 'input' => {},
# 'name' => 'hash0059: is| (nok + ok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {
# 'a' => 1
# },
# {}
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0059: is| (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0060: is| (ok + nok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0061: is| (nok + nok)',
# 'schema' => [
# 'hash',
# 'is|',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) hash0061: is| (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0062: is.op=or (no items)',
# 'schema' => [
# 'hash',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:hash) hash0062: is.op=or (no items)
# {
# 'input' => {},
# 'name' => 'hash0063: is.op=or (ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {}
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:hash) hash0063: is.op=or (ok)
# {
# 'input' => {},
# 'name' => 'hash0064: is.op=or (nok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {}
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:hash) hash0064: is.op=or (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0065: is.op=or (ok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:hash) hash0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0066: is.op=or (nok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:hash) hash0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:hash) hash0066: is.op=or (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0067: is.op=none (empty items)',
# 'schema' => [
# 'hash',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:hash) hash0067: is.op=none (empty items)
# {
# 'input' => {},
# 'name' => 'hash0068: is.op=none (nok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:hash) hash0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0069: is.op=none (nok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {
# 'a' => 1
# },
# {}
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:hash) hash0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0070: is.op=none (ok + nok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:hash) hash0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0071: is.op=none (ok + ok)',
# 'schema' => [
# 'hash',
# 'is',
# [
# {},
# {}
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:hash) hash0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:hash) hash0071: is.op=none (ok + ok)
# {
# 'input' => {},
# 'name' => 'hash0072: in: must accept valid choices',
# 'schema' => [
# 'hash',
# 'in',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:hash) hash0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:hash) hash0072: in: must accept valid choices
# {
# 'input' => {},
# 'name' => 'hash0073: in: must reject empty choices',
# 'schema' => [
# 'hash',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:hash) hash0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:hash) hash0073: in: must reject empty choices
# {
# 'input' => {},
# 'name' => 'hash0074: !in (nok)',
# 'schema' => [
# 'hash',
# '!in',
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0074: !in (nok)
# {
# 'input' => {},
# 'name' => 'hash0075: !in (ok)',
# 'schema' => [
# 'hash',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:hash) hash0075: !in (ok)
# {
# 'input' => {},
# 'name' => 'hash0076: in.op=not (nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# {},
# {
# 'a' => 1
# }
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:hash) hash0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:hash) hash0076: in.op=not (nok)
# {
# 'input' => {},
# 'name' => 'hash0077: in.op=not (ok)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:hash) hash0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:hash) hash0077: in.op=not (ok)
# {
# 'input' => {},
# 'name' => 'hash0078: in& (no items)',
# 'schema' => [
# 'hash',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0078: in& (no items)
# {
# 'input' => {},
# 'name' => 'hash0079: in& (ok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0080: in& (nok + ok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0081: in& (ok + nok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0082: in& (nok + nok)',
# 'schema' => [
# 'hash',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) hash0082: in& (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0083: in.op=and (no items)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:hash) hash0083: in.op=and (no items)
# {
# 'input' => {},
# 'name' => 'hash0084: in.op=and (ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:hash) hash0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0085: in.op=and (nok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:hash) hash0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0086: in.op=and (ok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:hash) hash0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0087: in.op=and (nok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:hash) hash0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:hash) hash0087: in.op=and (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0088: in| (no items)',
# 'schema' => [
# 'hash',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0088: in| (no items)
# {
# 'input' => {},
# 'name' => 'hash0089: in| (ok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0089: in| (ok)
# {
# 'input' => {},
# 'name' => 'hash0090: in| (nok + ok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0090: in| (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0091: in| (ok + nok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0092: in| (nok + nok)',
# 'schema' => [
# 'hash',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) hash0092: in| (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0093: in.op=or (no items)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:hash) hash0093: in.op=or (no items)
# {
# 'input' => {},
# 'name' => 'hash0094: in.op=or (ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:hash) hash0094: in.op=or (ok)
# {
# 'input' => {},
# 'name' => 'hash0095: in.op=or (nok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:hash) hash0095: in.op=or (nok + ok)
# {
# 'input' => {},
# 'name' => 'hash0096: in.op=or (ok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:hash) hash0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0097: in.op=or (nok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:hash) hash0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:hash) hash0097: in.op=or (nok + nok)
# {
# 'input' => {},
# 'name' => 'hash0098: in.op=none (empty items)',
# 'schema' => [
# 'hash',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:hash) hash0098: in.op=none (empty items)
# {
# 'input' => {},
# 'name' => 'hash0099: in.op=none (nok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:hash) hash0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0100: in.op=none (nok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:hash) hash0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0101: in.op=none (ok + nok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:hash) hash0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => {},
# 'name' => 'hash0102: in.op=none (ok + ok)',
# 'schema' => [
# 'hash',
# 'in',
# [
# [
# {},
# {
# 'a' => 1
# }
# ],
# [
# {},
# {
# 'a' => 1
# }
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:hash) hash0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:hash) hash0102: in.op=none (ok + ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0103: len (ok)',
# 'schema' => [
# 'hash',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:hash) hash0103: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:len, type, type:hash) hash0103: len (ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0104: len (nok)',
# 'schema' => [
# 'hash',
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:hash) hash0104: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:len, type, type:hash) hash0104: len (nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0105: min_len (ok)',
# 'schema' => [
# 'hash',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:hash) hash0105: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min_len, type, type:hash) hash0105: min_len (ok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0106: min_len (nok)',
# 'schema' => [
# 'hash',
# 'min_len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:hash) hash0106: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min_len, type, type:hash) hash0106: min_len (nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0107: max_len (ok)',
# 'schema' => [
# 'hash',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:hash) hash0107: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max_len, type, type:hash) hash0107: max_len (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0108: max_len (nok)',
# 'schema' => [
# 'hash',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:hash) hash0108: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max_len, type, type:hash) hash0108: max_len (nok)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0109: len_between (ok)',
# 'schema' => [
# 'hash',
# 'len_between',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:hash) hash0109: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:len_between, type, type:hash) hash0109: len_between (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0110: len_between (nok)',
# 'schema' => [
# 'hash',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:hash) hash0110: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:len_between, type, type:hash) hash0110: len_between (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0111: each_index (ok)',
# 'schema' => [
# 'hash',
# 'each_index',
# [
# 'str',
# 'len',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:hash) hash0111: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:each_index, type, type:hash) hash0111: each_index (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0112: each_index (nok)',
# 'schema' => [
# 'hash',
# 'each_index',
# [
# 'str',
# 'len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:hash) hash0112: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:each_index, type, type:hash) hash0112: each_index (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0113: each_key (ok)',
# 'schema' => [
# 'hash',
# 'each_key',
# [
# 'str',
# 'len',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_key'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_key, type, type:hash) hash0113: each_key (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:each_key, type, type:hash) hash0113: each_key (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0114: each_key (nok)',
# 'schema' => [
# 'hash',
# 'each_key',
# [
# 'str',
# 'len',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_key'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_key, type, type:hash) hash0114: each_key (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:each_key, type, type:hash) hash0114: each_key (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0115: each_elem (ok)',
# 'schema' => [
# 'hash',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:hash) hash0115: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:each_elem, type, type:hash) hash0115: each_elem (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0116: each_elem (nok)',
# 'schema' => [
# 'hash',
# 'each_elem',
# 'int'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:hash) hash0116: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:each_elem, type, type:hash) hash0116: each_elem (nok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0117: each_value (ok)',
# 'schema' => [
# 'hash',
# 'each_value',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_value'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_value, type, type:hash) hash0117: each_value (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:each_value, type, type:hash) hash0117: each_value (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0118: each_value (nok)',
# 'schema' => [
# 'hash',
# 'each_value',
# 'int'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:each_value'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_value, type, type:hash) hash0118: each_value (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:each_value, type, type:hash) hash0118: each_value (nok)
# {
# 'invalid_inputs' => [
# {},
# {
# '3' => 'c'
# }
# ],
# 'name' => 'hash0127: has',
# 'schema' => [
# 'hash',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has'
# ],
# 'valid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# },
# {
# '1' => 'a',
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, type, type:hash) hash0127: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 119 - (tags=clause:has, type, type:hash) hash0127: has
# {
# 'invalid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# },
# {
# '1' => 'a',
# '3' => 'c'
# }
# ],
# 'name' => 'hash0128: has + op.not',
# 'schema' => [
# 'hash',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# {},
# {
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:hash) hash0128: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 120 - (tags=clause:has, op, op:not, opshortcut, type, type:hash) hash0128: has + op.not
# {
# 'invalid_inputs' => [
# {},
# {
# '3' => 'c'
# }
# ],
# 'name' => 'hash0129: has + op.or',
# 'schema' => [
# 'hash',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# },
# {
# '1' => 'a',
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:hash) hash0129: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - validator (rt=full) returns hash
1..6
ok 121 - (tags=clause:has, op, op:or, opshortcut, type, type:hash) hash0129: has + op.or
# {
# 'invalid_inputs' => [
# {
# '1' => 'a',
# '3' => 'c'
# },
# {},
# {
# '3' => 'c'
# }
# ],
# 'name' => 'hash0130: has + op.and',
# 'schema' => [
# 'hash',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# {
# '1' => 'a',
# '2' => 'b',
# '3' => 'c'
# }
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:hash) hash0130: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - validator (rt=full) returns hash
1..6
ok 122 - (tags=clause:has, op, op:and, opshortcut, type, type:hash) hash0130: has + op.and
# {
# 'input' => {},
# 'name' => 'hash0136: keys: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0136: keys: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:keys, type, type:hash) hash0136: keys: (ok, empty)
# {
# 'input' => {
# 'a' => undef
# },
# 'name' => 'hash0137: keys: (ok, only a, a valid 1)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0137: keys: (ok, only 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 124 - (tags=clause:keys, type, type:hash) hash0137: keys: (ok, only a, a valid 1)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0138: keys: (ok, only a, a valid 2)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0138: keys: (ok, only a, a valid 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:keys, type, type:hash) hash0138: keys: (ok, only a, a valid 2)
# {
# 'input' => {
# 'a' => '1.1'
# },
# 'name' => 'hash0139: keys: (nok, only a, a invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0139: keys: (nok, only a, a invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:keys, type, type:hash) hash0139: keys: (nok, only a, a invalid)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0140: keys: (ok, only a, valid 2)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0140: keys: (ok, only a, valid 2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:keys, type, type:hash) hash0140: keys: (ok, only a, valid 2)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1'
# },
# 'name' => 'hash0141: keys: (ok, a & b, valid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0141: keys: (ok, a & b, valid)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:keys, type, type:hash) hash0141: keys: (ok, a & b, valid)
# {
# 'input' => {
# 'a' => 1,
# 'b' => undef
# },
# 'name' => 'hash0142: keys: (nok, a & b, b invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0142: keys: (nok, a & b, b invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:keys, type, type:hash) hash0142: keys: (nok, a & b, b invalid)
# {
# 'input' => {
# 'a' => '1.1',
# 'b' => '1.1'
# },
# 'name' => 'hash0143: keys: (nok, a & b, a invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0143: keys: (nok, a & b, a invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:keys, type, type:hash) hash0143: keys: (nok, a & b, a invalid)
# {
# 'input' => {
# 'a' => '1.1',
# 'b' => undef
# },
# 'name' => 'hash0144: keys: (nok, a & b, a & b invalid)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0144: keys: (nok, a & b, a & b invalid)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:keys, type, type:hash) hash0144: keys: (nok, a & b, a & b invalid)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1',
# 'c' => 1
# },
# 'name' => 'hash0145: keys: (nok, extra)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0145: keys: (nok, extra)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:keys, type, type:hash) hash0145: keys: (nok, extra)
# {
# 'input' => {
# 'a' => 1,
# 'b' => '1.1',
# 'c' => 1
# },
# 'name' => 'hash0146: keys: (ok, extra, restrict=0)',
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => 'float*'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0146: keys: (ok, extra, restrict=0)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:keys, type, type:hash) hash0146: keys: (ok, extra, restrict=0)
# {
# 'input' => {},
# 'name' => 'hash0147: keys (create_default=1) 1',
# 'output' => {
# 'b' => 2
# },
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0147: keys (create_default=1) 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 134 - (tags=clause:keys, type, type:hash) hash0147: keys (create_default=1) 1
# {
# 'input' => {
# 'b' => undef
# },
# 'name' => 'hash0148: keys (create_default=1) 2',
# 'output' => {
# 'b' => 2
# },
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0148: keys (create_default=1) 2
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 135 - (tags=clause:keys, type, type:hash) hash0148: keys (create_default=1) 2
# {
# 'input' => {},
# 'name' => 'hash0149: keys (create_default=0) 1',
# 'output' => {},
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# },
# 'keys.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0149: keys (create_default=0) 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 136 - (tags=clause:keys, type, type:hash) hash0149: keys (create_default=0) 1
# {
# 'input' => {
# 'b' => undef
# },
# 'name' => 'hash0150: keys (create_default=0) 2',
# 'output' => {
# 'b' => 2
# },
# 'schema' => [
# 'hash',
# {
# 'keys' => {
# 'a' => 'int',
# 'b' => [
# 'int',
# 'default',
# 2
# ]
# },
# 'keys.create_default' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:keys, type, type:hash) hash0150: keys (create_default=0) 2
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 137 - (tags=clause:keys, type, type:hash) hash0150: keys (create_default=0) 2
# {
# 'invalid_inputs' => [
# {
# 'a' => 'x'
# },
# {
# 'b' => 'x'
# },
# {
# 'c' => 1
# }
# ],
# 'name' => 'hash0151: re_keys',
# 'schema' => [
# 'hash',
# {
# 're_keys' => {
# '[ab]' => 'int'
# }
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:re_keys'
# ],
# 'valid_inputs' => [
# {},
# {
# 'a' => 1
# },
# {
# 'b' => 1
# }
# ]
# }
# Subtest: (tags=clause:re_keys, type, type:hash) hash0151: re_keys
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - invalid input [0]
ok 6 - invalid input [1]
ok 7 - invalid input [2]
ok 8 - validator (rt=full) returns hash
1..8
ok 138 - (tags=clause:re_keys, type, type:hash) hash0151: re_keys
# {
# 'invalid_inputs' => [
# {
# 'a' => 'x'
# },
# {
# 'b' => 'x'
# }
# ],
# 'name' => 'hash0152: re_keys (restrict=0)',
# 'schema' => [
# 'hash',
# {
# 're_keys' => {
# '[ab]' => 'int'
# },
# 're_keys.restrict' => 0
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:re_keys'
# ],
# 'valid_inputs' => [
# {},
# {
# 'a' => 1
# },
# {
# 'b' => 1
# },
# {
# 'c' => 'x'
# }
# ]
# }
# Subtest: (tags=clause:re_keys, type, type:hash) hash0152: re_keys (restrict=0)
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - valid input [3]
ok 6 - invalid input [0]
ok 7 - invalid input [1]
ok 8 - validator (rt=full) returns hash
1..8
ok 139 - (tags=clause:re_keys, type, type:hash) hash0152: re_keys (restrict=0)
# {
# 'input' => {},
# 'name' => 'hash0153: req_keys: (ok, empty req_keys, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => []
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0153: req_keys: (ok, empty req_keys, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:req_keys, type, type:hash) hash0153: req_keys: (ok, empty req_keys, empty keys in input)
# {
# 'input' => {
# 'a' => 1
# },
# 'name' => 'hash0154: req_keys: (ok, empty req_keys, extra keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => []
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0154: req_keys: (ok, empty req_keys, extra keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:req_keys, type, type:hash) hash0154: req_keys: (ok, empty req_keys, extra keys in input)
# {
# 'input' => {
# 'a' => 1,
# 'b' => 1
# },
# 'name' => 'hash0155: req_keys: (ok)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0155: req_keys: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:req_keys, type, type:hash) hash0155: req_keys: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'b' => 1,
# 'c' => 1
# },
# 'name' => 'hash0156: req_keys: (ok, extra keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0156: req_keys: (ok, extra keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:req_keys, type, type:hash) hash0156: req_keys: (ok, extra keys in input)
# {
# 'input' => {
# 'b' => 1,
# 'c' => 1
# },
# 'name' => 'hash0157: req_keys: (nok, missing req keys in input)',
# 'schema' => [
# 'hash',
# {
# 'req_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:req_keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req_keys, type, type:hash) hash0157: req_keys: (nok, missing req keys in input)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:req_keys, type, type:hash) hash0157: req_keys: (nok, missing req keys in input)
# {
# 'input' => {},
# 'name' => 'hash0158: allowed_keys: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys, type, type:hash) hash0158: allowed_keys: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:allowed_keys, type, type:hash) hash0158: allowed_keys: (ok, empty keys in input)
# {
# 'input' => {
# 'a' => 1,
# 'b' => undef
# },
# 'name' => 'hash0159: allowed_keys: (ok)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys, type, type:hash) hash0159: allowed_keys: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:allowed_keys, type, type:hash) hash0159: allowed_keys: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0160: allowed_keys: (nok, keys outside allowed list)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:allowed_keys, type, type:hash) hash0160: allowed_keys: (nok, keys outside allowed list)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:allowed_keys, type, type:hash) hash0160: allowed_keys: (nok, keys outside allowed list)
# {
# 'input' => {},
# 'name' => 'hash0161: allowed_keys_re: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys_re, type, type:hash) hash0161: allowed_keys_re: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:allowed_keys_re, type, type:hash) hash0161: allowed_keys_re: (ok, empty keys in input)
# {
# 'input' => {
# 'a' => 1,
# 'b' => undef
# },
# 'name' => 'hash0162: allowed_keys_re: (ok)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:allowed_keys_re, type, type:hash) hash0162: allowed_keys_re: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:allowed_keys_re, type, type:hash) hash0162: allowed_keys_re: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0163: allowed_keys_re: (nok, keys outside allowed regex)',
# 'schema' => [
# 'hash',
# {
# 'allowed_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:allowed_keys_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:allowed_keys_re, type, type:hash) hash0163: allowed_keys_re: (nok, keys outside allowed regex)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:allowed_keys_re, type, type:hash) hash0163: allowed_keys_re: (nok, keys outside allowed regex)
# {
# 'input' => {},
# 'name' => 'hash0164: forbidden_keys: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys, type, type:hash) hash0164: forbidden_keys: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:forbidden_keys, type, type:hash) hash0164: forbidden_keys: (ok, empty keys in input)
# {
# 'input' => {
# 'd' => 1,
# 'e' => undef
# },
# 'name' => 'hash0165: forbidden_keys: (ok)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys, type, type:hash) hash0165: forbidden_keys: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:forbidden_keys, type, type:hash) hash0165: forbidden_keys: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0166: forbidden_keys: (nok, keys in forbidden list)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys' => [
# 'a',
# 'b',
# 'c'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden_keys, type, type:hash) hash0166: forbidden_keys: (nok, keys in forbidden list)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:forbidden_keys, type, type:hash) hash0166: forbidden_keys: (nok, keys in forbidden list)
# {
# 'input' => {},
# 'name' => 'hash0167: forbidden_keys_re: (ok, empty keys in input)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys_re, type, type:hash) hash0167: forbidden_keys_re: (ok, empty keys in input)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:forbidden_keys_re, type, type:hash) hash0167: forbidden_keys_re: (ok, empty keys in input)
# {
# 'input' => {
# 'd' => 1,
# 'e' => undef
# },
# 'name' => 'hash0168: forbidden_keys_re: (ok)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden_keys_re, type, type:hash) hash0168: forbidden_keys_re: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:forbidden_keys_re, type, type:hash) hash0168: forbidden_keys_re: (ok)
# {
# 'input' => {
# 'a' => 1,
# 'd' => undef
# },
# 'name' => 'hash0169: forbidden_keys_re: (nok, keys in forbidden regex)',
# 'schema' => [
# 'hash',
# {
# 'forbidden_keys_re' => '^(a|b|c)$'
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash',
# 'clause:forbidden_keys_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden_keys_re, type, type:hash) hash0169: forbidden_keys_re: (nok, keys in forbidden regex)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:forbidden_keys_re, type, type:hash) hash0169: forbidden_keys_re: (nok, keys in forbidden regex)
# {
# 'input' => {},
# 'name' => 'hash0170: choose_one_key: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0170: choose_one_key: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=type, type:hash) hash0170: choose_one_key: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0171: choose_one_key: (ok, a)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0171: choose_one_key: (ok, a)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=type, type:hash) hash0171: choose_one_key: (ok, a)
# {
# 'input' => {
# 'a' => 0,
# 'd' => 0
# },
# 'name' => 'hash0172: choose_one_key: (ok, a+d)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0172: choose_one_key: (ok, a+d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=type, type:hash) hash0172: choose_one_key: (ok, a+d)
# {
# 'input' => {
# 'b' => 0
# },
# 'name' => 'hash0173: choose_one_key: (ok, b)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0173: choose_one_key: (ok, b)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=type, type:hash) hash0173: choose_one_key: (ok, b)
# {
# 'input' => {
# 'b' => 0,
# 'd' => 0
# },
# 'name' => 'hash0174: choose_one_key: (ok, b+d)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0174: choose_one_key: (ok, b+d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=type, type:hash) hash0174: choose_one_key: (ok, b+d)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0
# },
# 'name' => 'hash0175: choose_one_key: (nok, a+b)',
# 'schema' => [
# 'hash',
# {
# 'choose_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0175: choose_one_key: (nok, a+b)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=type, type:hash) hash0175: choose_one_key: (nok, a+b)
# {
# 'input' => {},
# 'name' => 'hash0176: choose_all_keys: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0176: choose_all_keys: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=type, type:hash) hash0176: choose_all_keys: (ok, empty)
# {
# 'input' => {
# 'd' => 0
# },
# 'name' => 'hash0177: choose_all_keys: (ok, d)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0177: choose_all_keys: (ok, d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 164 - (tags=type, type:hash) hash0177: choose_all_keys: (ok, d)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0
# },
# 'name' => 'hash0178: choose_all_keys: (ok, a+b)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0178: choose_all_keys: (ok, a+b)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 165 - (tags=type, type:hash) hash0178: choose_all_keys: (ok, a+b)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0,
# 'd' => 0
# },
# 'name' => 'hash0179: choose_all_keys: (ok, a+b+d)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0179: choose_all_keys: (ok, a+b+d)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 166 - (tags=type, type:hash) hash0179: choose_all_keys: (ok, a+b+d)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0180: choose_all_keys: (nok, a)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0180: choose_all_keys: (nok, a)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 167 - (tags=type, type:hash) hash0180: choose_all_keys: (nok, a)
# {
# 'input' => {
# 'b' => 0
# },
# 'name' => 'hash0181: choose_all_keys: (nok, b)',
# 'schema' => [
# 'hash',
# {
# 'choose_all_keys' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0181: choose_all_keys: (nok, b)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=type, type:hash) hash0181: choose_all_keys: (nok, b)
# {
# 'input' => {},
# 'name' => 'hash0182: req_one_key: (nok, empty)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0182: req_one_key: (nok, empty)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 169 - (tags=type, type:hash) hash0182: req_one_key: (nok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0183: req_one_key: (ok, a)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0183: req_one_key: (ok, a)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=type, type:hash) hash0183: req_one_key: (ok, a)
# {
# 'input' => {
# 'b' => 0
# },
# 'name' => 'hash0184: req_one_key: (ok, b)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0184: req_one_key: (ok, b)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=type, type:hash) hash0184: req_one_key: (ok, b)
# {
# 'input' => {
# 'a' => 0,
# 'b' => 0
# },
# 'name' => 'hash0185: req_one_key: (nok, a+b)',
# 'schema' => [
# 'hash',
# {
# 'req_one_key' => [
# 'a',
# 'b'
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0185: req_one_key: (nok, a+b)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 172 - (tags=type, type:hash) hash0185: req_one_key: (nok, a+b)
# {
# 'input' => {},
# 'name' => 'hash0186: dep_any: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0186: dep_any: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=type, type:hash) hash0186: dep_any: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0187: dep_any: (nok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0187: dep_any: (nok, a specified without d1/d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=type, type:hash) hash0187: dep_any: (nok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0188: dep_any: (ok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0188: dep_any: (ok, a specified with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=type, type:hash) hash0188: dep_any: (ok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0189: dep_any: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0189: dep_any: (ok, a specified with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=type, type:hash) hash0189: dep_any: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0190: dep_any: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0190: dep_any: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 177 - (tags=type, type:hash) hash0190: dep_any: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0191: dep_any: (ok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0191: dep_any: (ok, no a with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 178 - (tags=type, type:hash) hash0191: dep_any: (ok, no a with d1 & d2)
# {
# 'input' => {},
# 'name' => 'hash0192: dep_all: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0192: dep_all: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 179 - (tags=type, type:hash) hash0192: dep_all: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0193: dep_all: (nok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0193: dep_all: (nok, a specified without d1/d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 180 - (tags=type, type:hash) hash0193: dep_all: (nok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0194: dep_all: (nok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0194: dep_all: (nok, a specified with d1)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 181 - (tags=type, type:hash) hash0194: dep_all: (nok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0195: dep_all: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0195: dep_all: (ok, a specified with d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 182 - (tags=type, type:hash) hash0195: dep_all: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0196: dep_all: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0196: dep_all: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 183 - (tags=type, type:hash) hash0196: dep_all: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0197: dep_all: (ok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0197: dep_all: (ok, no a with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 184 - (tags=type, type:hash) hash0197: dep_all: (ok, no a with d1 & d2)
# {
# 'input' => {},
# 'name' => 'hash0198: req_dep_any: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0198: req_dep_any: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 185 - (tags=type, type:hash) hash0198: req_dep_any: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0199: req_dep_any: (ok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0199: req_dep_any: (ok, a specified without d1/d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 186 - (tags=type, type:hash) hash0199: req_dep_any: (ok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0200: req_dep_any: (ok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0200: req_dep_any: (ok, a specified with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 187 - (tags=type, type:hash) hash0200: req_dep_any: (ok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0201: req_dep_any: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0201: req_dep_any: (ok, a specified with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 188 - (tags=type, type:hash) hash0201: req_dep_any: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0202: req_dep_any: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0202: req_dep_any: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 189 - (tags=type, type:hash) hash0202: req_dep_any: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0
# },
# 'name' => 'hash0203: req_dep_any: (ok, no a with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0203: req_dep_any: (ok, no a with d1)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 190 - (tags=type, type:hash) hash0203: req_dep_any: (ok, no a with d1)
# {
# 'input' => {
# 'd2' => 0
# },
# 'name' => 'hash0204: req_dep_any: (ok, no a with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0204: req_dep_any: (ok, no a with d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 191 - (tags=type, type:hash) hash0204: req_dep_any: (ok, no a with d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0205: req_dep_any: (ok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_any' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0205: req_dep_any: (ok, no a with d1 & d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 192 - (tags=type, type:hash) hash0205: req_dep_any: (ok, no a with d1 & d2)
# {
# 'input' => {},
# 'name' => 'hash0206: req_dep_all: (ok, empty)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0206: req_dep_all: (ok, empty)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 193 - (tags=type, type:hash) hash0206: req_dep_all: (ok, empty)
# {
# 'input' => {
# 'a' => 0
# },
# 'name' => 'hash0207: req_dep_all: (ok, a specified without d1/d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0207: req_dep_all: (ok, a specified without d1/d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 194 - (tags=type, type:hash) hash0207: req_dep_all: (ok, a specified without d1/d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0
# },
# 'name' => 'hash0208: req_dep_all: (ok, a specified with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0208: req_dep_all: (ok, a specified with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 195 - (tags=type, type:hash) hash0208: req_dep_all: (ok, a specified with d1)
# {
# 'input' => {
# 'a' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0209: req_dep_all: (ok, a specified with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0209: req_dep_all: (ok, a specified with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 196 - (tags=type, type:hash) hash0209: req_dep_all: (ok, a specified with d2)
# {
# 'input' => {
# 'a' => 0,
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0210: req_dep_all: (ok, a specified with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0210: req_dep_all: (ok, a specified with d1 & d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 197 - (tags=type, type:hash) hash0210: req_dep_all: (ok, a specified with d1 & d2)
# {
# 'input' => {
# 'd1' => 0
# },
# 'name' => 'hash0211: req_dep_all: (ok, no a with d1)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0211: req_dep_all: (ok, no a with d1)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 198 - (tags=type, type:hash) hash0211: req_dep_all: (ok, no a with d1)
# {
# 'input' => {
# 'd2' => 0
# },
# 'name' => 'hash0212: req_dep_all: (ok, no a with d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:hash) hash0212: req_dep_all: (ok, no a with d2)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 199 - (tags=type, type:hash) hash0212: req_dep_all: (ok, no a with d2)
# {
# 'input' => {
# 'd1' => 0,
# 'd2' => 0
# },
# 'name' => 'hash0213: req_dep_all: (nok, no a with d1 & d2)',
# 'schema' => [
# 'hash',
# {
# 'req_dep_all' => [
# 'a',
# [
# 'd1',
# 'd2'
# ]
# ]
# }
# ],
# 'tags' => [
# 'type',
# 'type:hash'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:hash) hash0213: req_dep_all: (nok, no a with d1 & d2)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 200 - (tags=type, type:hash) hash0213: req_dep_all: (nok, no a with d1 & d2)
ok 201
1..201
ok 10 - 10-type-hash.json
# Subtest: 10-type-int.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => -1,
# 'name' => 'int0001: type check: must accept -1',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0001: type check: must accept -1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0001: type check: must accept -1
# {
# 'input' => 0,
# 'name' => 'int0002: type check: must accept 0',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0002: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0002: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'int0003: type check: must accept 1',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0003: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0003: type check: must accept 1
# {
# 'input' => '1.1',
# 'name' => 'int0004: type check: must reject 1.1',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0004: type check: must reject 1.1
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:int) int0004: type check: must reject 1.1
# {
# 'input' => 'a',
# 'name' => 'int0005: type check: must reject a',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0005: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:int) int0005: type check: must reject a
# {
# 'input' => [],
# 'name' => 'int0006: type check: must reject []',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0006: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:int) int0006: type check: must reject []
# {
# 'input' => {},
# 'name' => 'int0007: type check: must reject {}',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:int) int0007: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:int) int0007: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'int0008: must accept undefined value',
# 'schema' => 'int',
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0008: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0008: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'int0009: defhash_v',
# 'schema' => [
# 'int',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:int) int0009: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:int) int0009: defhash_v
# {
# 'input' => undef,
# 'name' => 'int0010: v',
# 'schema' => [
# 'int',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:int) int0010: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:int) int0010: v
# {
# 'input' => undef,
# 'name' => 'int0011: c',
# 'schema' => [
# 'int',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:int) int0011: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:int) int0011: c
# {
# 'input' => undef,
# 'name' => 'int0012: default_lang',
# 'schema' => [
# 'int',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:int) int0012: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:int) int0012: default_lang
# {
# 'input' => undef,
# 'name' => 'int0013: name',
# 'schema' => [
# 'int',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:int) int0013: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:int) int0013: name
# {
# 'input' => undef,
# 'name' => 'int0014: summary',
# 'schema' => [
# 'int',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:int) int0014: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:int) int0014: summary
# {
# 'input' => undef,
# 'name' => 'int0015: description',
# 'schema' => [
# 'int',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:int) int0015: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:int) int0015: description
# {
# 'input' => undef,
# 'name' => 'int0016: tags',
# 'schema' => [
# 'int',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:int) int0016: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:int) int0016: tags
# {
# 'input' => undef,
# 'name' => 'int0017: req=0 must accept undefined value',
# 'schema' => [
# 'int',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:int) int0017: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:int) int0017: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'int0018: req=1 must reject undefined value',
# 'schema' => [
# 'int',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:int) int0018: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:int) int0018: req=1 must reject undefined value
# {
# 'input' => 2,
# 'name' => 'int0019: forbidden=0 must accept defined value',
# 'schema' => [
# 'int',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:int) int0019: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:int) int0019: forbidden=0 must accept defined value
# {
# 'input' => 2,
# 'name' => 'int0020: forbidden=1 must reject defined value',
# 'schema' => [
# 'int',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:int) int0020: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 20 - (tags=clause:forbidden, type, type:int) int0020: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'int0021: default: must accept valid default 1',
# 'schema' => [
# 'int*',
# 'default',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:int) int0021: default: must accept valid default 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:int) int0021: default: must accept valid default 1
# {
# 'input' => undef,
# 'name' => 'int0022: default: must reject invalid default []',
# 'schema' => [
# 'int*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:int) int0022: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:default, type, type:int) int0022: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 2,
# 'name' => 'int0023: clause (dies, unknown clause)',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:int) int0023: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 23 - (tags=clause:clause, type, type:int) int0023: clause (dies, unknown clause)
# {
# 'input' => 2,
# 'name' => 'int0024: clause (ok)',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'min',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:int) int0024: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clause, type, type:int) int0024: clause (ok)
# {
# 'input' => 2,
# 'name' => 'int0025: clause (ok) + clause nok = nok',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'min',
# 1
# ],
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:int) int0025: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:int) int0025: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 2,
# 'name' => 'int0026: clause (nok)',
# 'schema' => [
# 'int*',
# 'clause',
# [
# 'min',
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:int) int0026: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:int) int0026: clause (nok)
# {
# 'dies' => 1,
# 'input' => 2,
# 'name' => 'int0027: clset (dies, unknown clause)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:int) int0027: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:int) int0027: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 2,
# 'name' => 'int0028: clset (dies, unknown attr)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:int) int0028: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 28 - (tags=clause:clset, type, type:int) int0028: clset (dies, unknown attr)
# {
# 'input' => 2,
# 'name' => 'int0029: clset (empty = ok)',
# 'schema' => [
# 'int*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0029: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0029: clset (empty = ok)
# {
# 'input' => 2,
# 'name' => 'int0030: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:int) int0030: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:int) int0030: clset (ignored clause/attr = ok)
# {
# 'input' => 2,
# 'name' => 'int0031: clset (ok + ok = ok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'max' => 2,
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:int) int0031: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:int) int0031: clset (ok + ok = ok)
# {
# 'input' => 2,
# 'name' => 'int0032: clset (ok) + clause nok = nok',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min' => 1
# },
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0032: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:int) int0032: clset (ok) + clause nok = nok
# {
# 'input' => 2,
# 'name' => 'int0033: clset (ok + nok = nok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min' => 1,
# 'xmax' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0033: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:int) int0033: clset (ok + nok = nok)
# {
# 'input' => 2,
# 'name' => 'int0034: clset (nok + ok = nok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'max' => 2,
# 'min' => 3
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0034: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:int) int0034: clset (nok + ok = nok)
# {
# 'input' => 2,
# 'name' => 'int0035: clset (nok + nok = nok)',
# 'schema' => [
# 'int*',
# 'clset',
# {
# 'min' => 3,
# 'xmax' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:int) int0035: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:int) int0035: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'int0036: ok',
# 'schema' => [
# 'int',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:int) int0036: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:int) int0036: ok
# {
# 'input' => undef,
# 'name' => 'int0037: ok + op not (nok)',
# 'schema' => [
# 'int',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:int) int0037: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:int) int0037: ok + op not (nok)
# {
# 'input' => 9,
# 'name' => 'int0038: .err_level=error (clause=div_by, ok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0038: .err_level=error (clause=div_by, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:int) int0038: .err_level=error (clause=div_by, ok)
# {
# 'input' => 8,
# 'name' => 'int0039: .err_level=error (clause=div_by, nok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0039: .err_level=error (clause=div_by, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:int) int0039: .err_level=error (clause=div_by, nok)
# {
# 'input' => 9,
# 'name' => 'int0040: .err_level=warn (clause=div_by, ok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3,
# 'div_by.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0040: .err_level=warn (clause=div_by, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:int) int0040: .err_level=warn (clause=div_by, ok)
# {
# 'input' => 8,
# 'name' => 'int0041: .err_level=warn (clause=div_by, nok)',
# 'schema' => [
# 'int*',
# 'div_by',
# 3,
# 'div_by.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:int) int0041: .err_level=warn (clause=div_by, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=attr, attr:err_level, type, type:int) int0041: .err_level=warn (clause=div_by, nok)
# {
# 'input' => 1,
# 'name' => 'int0042: is: must accept same value',
# 'schema' => [
# 'int',
# 'is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:int) int0042: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, type, type:int) int0042: is: must accept same value
# {
# 'input' => 1,
# 'name' => 'int0043: is: must reject different value',
# 'schema' => [
# 'int',
# 'is',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:int) int0043: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:int) int0043: is: must reject different value
# {
# 'input' => 1,
# 'name' => 'int0044: !is (nok)',
# 'schema' => [
# 'int',
# '!is',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:int) int0044: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:int) int0044: !is (nok)
# {
# 'input' => 1,
# 'name' => 'int0045: !is (ok)',
# 'schema' => [
# 'int',
# '!is',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:int) int0045: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:int) int0045: !is (ok)
# {
# 'input' => 1,
# 'name' => 'int0046: is.op=not (nok)',
# 'schema' => [
# 'int',
# 'is',
# 1,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:int) int0046: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:int) int0046: is.op=not (nok)
# {
# 'input' => 1,
# 'name' => 'int0047: is.op=not (ok)',
# 'schema' => [
# 'int',
# 'is',
# 2,
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:int) int0047: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:int) int0047: is.op=not (ok)
# {
# 'input' => 1,
# 'name' => 'int0048: is& (no items)',
# 'schema' => [
# 'int',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0048: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0048: is& (no items)
# {
# 'input' => 1,
# 'name' => 'int0049: is& (ok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0049: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0049: is& (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0050: is& (nok + ok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 2,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0050: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0050: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0051: is& (ok + nok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0051: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0051: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0052: is& (nok + nok)',
# 'schema' => [
# 'int',
# 'is&',
# [
# 2,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) int0052: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) int0052: is& (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0053: is.op=and (no items)',
# 'schema' => [
# 'int',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0053: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0053: is.op=and (no items)
# {
# 'input' => 1,
# 'name' => 'int0054: is.op=and (ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0054: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:int) int0054: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0055: is.op=and (nok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 1
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0055: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:int) int0055: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0056: is.op=and (ok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 2
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0056: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:int) int0056: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0057: is.op=and (nok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 2
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:int) int0057: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:int) int0057: is.op=and (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0058: is| (no items)',
# 'schema' => [
# 'int',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0058: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0058: is| (no items)
# {
# 'input' => 1,
# 'name' => 'int0059: is| (ok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0059: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0059: is| (ok)
# {
# 'input' => 1,
# 'name' => 'int0060: is| (nok + ok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 2,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0060: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0060: is| (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0061: is| (ok + nok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0061: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0061: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0062: is| (nok + nok)',
# 'schema' => [
# 'int',
# 'is|',
# [
# 2,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) int0062: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) int0062: is| (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0063: is.op=or (no items)',
# 'schema' => [
# 'int',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0063: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:int) int0063: is.op=or (no items)
# {
# 'input' => 1,
# 'name' => 'int0064: is.op=or (ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0064: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:int) int0064: is.op=or (ok)
# {
# 'input' => 1,
# 'name' => 'int0065: is.op=or (nok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 1
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0065: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:int) int0065: is.op=or (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0066: is.op=or (ok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 2
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0066: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:int) int0066: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0067: is.op=or (nok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 2
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:int) int0067: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:int) int0067: is.op=or (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0068: is.op=none (empty items)',
# 'schema' => [
# 'int',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0068: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:int) int0068: is.op=none (empty items)
# {
# 'input' => 1,
# 'name' => 'int0069: is.op=none (nok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 2
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0069: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:int) int0069: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0070: is.op=none (nok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 2,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0070: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:int) int0070: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0071: is.op=none (ok + nok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 2
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0071: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:int) int0071: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0072: is.op=none (ok + ok)',
# 'schema' => [
# 'int',
# 'is',
# [
# 1,
# 1
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:int) int0072: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:int) int0072: is.op=none (ok + ok)
# {
# 'input' => 1,
# 'name' => 'int0073: in: must accept valid choices',
# 'schema' => [
# 'int',
# 'in',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:int) int0073: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, type, type:int) int0073: in: must accept valid choices
# {
# 'input' => 1,
# 'name' => 'int0074: in: must reject empty choices',
# 'schema' => [
# 'int',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:int) int0074: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:int) int0074: in: must reject empty choices
# {
# 'input' => 1,
# 'name' => 'int0075: !in (nok)',
# 'schema' => [
# 'int',
# '!in',
# [
# 1,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:int) int0075: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:int) int0075: !in (nok)
# {
# 'input' => 1,
# 'name' => 'int0076: !in (ok)',
# 'schema' => [
# 'int',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:int) int0076: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:int) int0076: !in (ok)
# {
# 'input' => 1,
# 'name' => 'int0077: in.op=not (nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# 1,
# 2
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:int) int0077: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:int) int0077: in.op=not (nok)
# {
# 'input' => 1,
# 'name' => 'int0078: in.op=not (ok)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:int) int0078: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:int) int0078: in.op=not (ok)
# {
# 'input' => 1,
# 'name' => 'int0079: in& (no items)',
# 'schema' => [
# 'int',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0079: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0079: in& (no items)
# {
# 'input' => 1,
# 'name' => 'int0080: in& (ok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0080: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0080: in& (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0081: in& (nok + ok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0081: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0081: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0082: in& (ok + nok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [
# 1,
# 2
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0082: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0082: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0083: in& (nok + nok)',
# 'schema' => [
# 'int',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) int0083: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) int0083: in& (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0084: in.op=and (no items)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0084: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:int) int0084: in.op=and (no items)
# {
# 'input' => 1,
# 'name' => 'int0085: in.op=and (ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0085: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:int) int0085: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0086: in.op=and (nok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0086: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:int) int0086: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0087: in.op=and (ok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0087: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:int) int0087: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0088: in.op=and (nok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:int) int0088: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:int) int0088: in.op=and (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0089: in| (no items)',
# 'schema' => [
# 'int',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0089: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0089: in| (no items)
# {
# 'input' => 1,
# 'name' => 'int0090: in| (ok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0090: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0090: in| (ok)
# {
# 'input' => 1,
# 'name' => 'int0091: in| (nok + ok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [],
# [
# 1,
# 2
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0091: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0091: in| (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0092: in| (ok + nok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [
# 1,
# 2
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0092: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0092: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0093: in| (nok + nok)',
# 'schema' => [
# 'int',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) int0093: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) int0093: in| (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0094: in.op=or (no items)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0094: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:int) int0094: in.op=or (no items)
# {
# 'input' => 1,
# 'name' => 'int0095: in.op=or (ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0095: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:int) int0095: in.op=or (ok)
# {
# 'input' => 1,
# 'name' => 'int0096: in.op=or (nok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0096: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:int) int0096: in.op=or (nok + ok)
# {
# 'input' => 1,
# 'name' => 'int0097: in.op=or (ok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0097: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:int) int0097: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0098: in.op=or (nok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:int) int0098: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:int) int0098: in.op=or (nok + nok)
# {
# 'input' => 1,
# 'name' => 'int0099: in.op=none (empty items)',
# 'schema' => [
# 'int',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0099: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:int) int0099: in.op=none (empty items)
# {
# 'input' => 1,
# 'name' => 'int0100: in.op=none (nok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0100: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:int) int0100: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0101: in.op=none (nok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0101: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:int) int0101: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0102: in.op=none (ok + nok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0102: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:int) int0102: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 1,
# 'name' => 'int0103: in.op=none (ok + ok)',
# 'schema' => [
# 'int',
# 'in',
# [
# [
# 1,
# 2
# ],
# [
# 1,
# 2
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:int) int0103: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:int) int0103: in.op=none (ok + ok)
# {
# 'input' => 2,
# 'name' => 'int0104: min: 2 -3',
# 'schema' => [
# 'int',
# 'min',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:int) int0104: min: 2 -3
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:int) int0104: min: 2 -3
# {
# 'input' => 2,
# 'name' => 'int0105: min: 2 2',
# 'schema' => [
# 'int',
# 'min',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:int) int0105: min: 2 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:int) int0105: min: 2 2
# {
# 'input' => -3,
# 'name' => 'int0106: min: -3 2 -> fail',
# 'schema' => [
# 'int',
# 'min',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:int) int0106: min: -3 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:int) int0106: min: -3 2 -> fail
# {
# 'input' => 2,
# 'name' => 'int0107: xmin: 2 -3',
# 'schema' => [
# 'int',
# 'xmin',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:int) int0107: xmin: 2 -3
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:int) int0107: xmin: 2 -3
# {
# 'input' => 2,
# 'name' => 'int0108: xmin: 2 2 -> fail',
# 'schema' => [
# 'int',
# 'xmin',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:int) int0108: xmin: 2 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:int) int0108: xmin: 2 2 -> fail
# {
# 'input' => -3,
# 'name' => 'int0109: xmin: -3 2 -> fail',
# 'schema' => [
# 'int',
# 'xmin',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:int) int0109: xmin: -3 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:int) int0109: xmin: -3 2 -> fail
# {
# 'input' => 2,
# 'name' => 'int0110: max: 2 -3 -> fail',
# 'schema' => [
# 'int',
# 'max',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:int) int0110: max: 2 -3 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:int) int0110: max: 2 -3 -> fail
# {
# 'input' => 2,
# 'name' => 'int0111: max: 2 2',
# 'schema' => [
# 'int',
# 'max',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:int) int0111: max: 2 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:int) int0111: max: 2 2
# {
# 'input' => -3,
# 'name' => 'int0112: max: -3 2',
# 'schema' => [
# 'int',
# 'max',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:int) int0112: max: -3 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:int) int0112: max: -3 2
# {
# 'input' => 2,
# 'name' => 'int0113: xmax: 2 -3 -> fail',
# 'schema' => [
# 'int',
# 'xmax',
# -3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:int) int0113: xmax: 2 -3 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:int) int0113: xmax: 2 -3 -> fail
# {
# 'input' => 2,
# 'name' => 'int0114: xmax: 2 2 -> fail',
# 'schema' => [
# 'int',
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:int) int0114: xmax: 2 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:int) int0114: xmax: 2 2 -> fail
# {
# 'input' => -3,
# 'name' => 'int0115: xmax: -3 2',
# 'schema' => [
# 'int',
# 'xmax',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:int) int0115: xmax: -3 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:int) int0115: xmax: -3 2
# {
# 'input' => 2,
# 'name' => 'int0116: between: 2 -3 & 4',
# 'schema' => [
# 'int',
# 'between',
# [
# -3,
# 4
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:int) int0116: between: 2 -3 & 4
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:int) int0116: between: 2 -3 & 4
# {
# 'input' => 2,
# 'name' => 'int0117: between: 2 -3 & 2',
# 'schema' => [
# 'int',
# 'between',
# [
# -3,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:int) int0117: between: 2 -3 & 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:int) int0117: between: 2 -3 & 2
# {
# 'input' => 2,
# 'name' => 'int0118: between: 2 2 & 2',
# 'schema' => [
# 'int',
# 'between',
# [
# 2,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:int) int0118: between: 2 2 & 2
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:int) int0118: between: 2 2 & 2
# {
# 'input' => -3,
# 'name' => 'int0119: between: -3 2 & 4 -> fail',
# 'schema' => [
# 'int',
# 'between',
# [
# 2,
# 4
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:int) int0119: between: -3 2 & 4 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 119 - (tags=clause:between, type, type:int) int0119: between: -3 2 & 4 -> fail
# {
# 'input' => '2',
# 'name' => 'int0120: xbetween: 2 -3 & 4',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# -3,
# 4
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0120: xbetween: 2 -3 & 4
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 120 - (tags=clause:xbetween, type, type:int) int0120: xbetween: 2 -3 & 4
# {
# 'input' => '2',
# 'name' => 'int0121: xbetween: 2 -3 & 2 -> fail',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# -3,
# '2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0121: xbetween: 2 -3 & 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:int) int0121: xbetween: 2 -3 & 2 -> fail
# {
# 'input' => '2',
# 'name' => 'int0122: xbetween: 2 2 & 2 -> fail',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# '2',
# '2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0122: xbetween: 2 2 & 2 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:int) int0122: xbetween: 2 2 & 2 -> fail
# {
# 'input' => -3,
# 'name' => 'int0123: xbetween: -3 2 & 4 -> fail',
# 'schema' => [
# 'int',
# 'xbetween',
# [
# '2',
# '4'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:int) int0123: xbetween: -3 2 & 4 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:xbetween, type, type:int) int0123: xbetween: -3 2 & 4 -> fail
# {
# 'input' => -3,
# 'name' => 'int0124: !between (nok)',
# 'schema' => [
# 'int',
# '!between',
# [
# -3,
# -3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:int) int0124: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:not, opshortcut, type, type:int) int0124: !between (nok)
# {
# 'input' => -3,
# 'name' => 'int0125: !between (ok)',
# 'schema' => [
# 'int',
# '!between',
# [
# '2',
# '2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:int) int0125: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:not, opshortcut, type, type:int) int0125: !between (ok)
# {
# 'input' => -3,
# 'name' => 'int0126: between.op=not (nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# -3,
# -3
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:int) int0126: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:not, type, type:int) int0126: between.op=not (nok)
# {
# 'input' => -3,
# 'name' => 'int0127: between.op=not (ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# '2',
# '2'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:int) int0127: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:not, type, type:int) int0127: between.op=not (ok)
# {
# 'input' => -3,
# 'name' => 'int0128: between& (no items)',
# 'schema' => [
# 'int',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0128: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0128: between& (no items)
# {
# 'input' => -3,
# 'name' => 'int0129: between& (ok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0129: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0129: between& (ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0130: between& (nok + ok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0130: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0130: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0131: between& (ok + nok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0131: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0131: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0132: between& (nok + nok)',
# 'schema' => [
# 'int',
# 'between&',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) int0132: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:int) int0132: between& (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0133: between.op=and (no items)',
# 'schema' => [
# 'int',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:int) int0133: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=type, type:int) int0133: between.op=and (no items)
# {
# 'input' => -3,
# 'name' => 'int0134: between.op=and (ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0134: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:int) int0134: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0135: between.op=and (nok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0135: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:int) int0135: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0136: between.op=and (ok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0136: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:int) int0136: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0137: between.op=and (nok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:int) int0137: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:and, type, type:int) int0137: between.op=and (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0138: between| (no items)',
# 'schema' => [
# 'int',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0138: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0138: between| (no items)
# {
# 'input' => -3,
# 'name' => 'int0139: between| (ok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0139: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0139: between| (ok)
# {
# 'input' => -3,
# 'name' => 'int0140: between| (nok + ok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0140: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0140: between| (nok + ok)
# {
# 'input' => -3,
# 'name' => 'int0141: between| (ok + nok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0141: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0141: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0142: between| (nok + nok)',
# 'schema' => [
# 'int',
# 'between|',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) int0142: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:int) int0142: between| (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0143: between.op=or (no items)',
# 'schema' => [
# 'int',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0143: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:int) int0143: between.op=or (no items)
# {
# 'input' => -3,
# 'name' => 'int0144: between.op=or (ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0144: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:int) int0144: between.op=or (ok)
# {
# 'input' => -3,
# 'name' => 'int0145: between.op=or (nok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0145: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:int) int0145: between.op=or (nok + ok)
# {
# 'input' => -3,
# 'name' => 'int0146: between.op=or (ok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0146: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:int) int0146: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0147: between.op=or (nok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:int) int0147: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:or, type, type:int) int0147: between.op=or (nok + nok)
# {
# 'input' => -3,
# 'name' => 'int0148: between.op=none (empty items)',
# 'schema' => [
# 'int',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0148: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:int) int0148: between.op=none (empty items)
# {
# 'input' => -3,
# 'name' => 'int0149: between.op=none (nok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0149: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:int) int0149: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0150: between.op=none (nok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# '2',
# '2'
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0150: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:int) int0150: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0151: between.op=none (ok + nok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# '2',
# '2'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0151: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:int) int0151: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => -3,
# 'name' => 'int0152: between.op=none (ok + ok)',
# 'schema' => [
# 'int',
# 'between',
# [
# [
# -3,
# -3
# ],
# [
# -3,
# -3
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:int) int0152: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:between, op, op:none, type, type:int) int0152: between.op=none (ok + ok)
# {
# 'input' => 10,
# 'name' => 'int0153: mod: (nok)',
# 'schema' => [
# 'int',
# 'mod',
# [
# 3,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:mod'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:mod, type, type:int) int0153: mod: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:mod, type, type:int) int0153: mod: (nok)
# {
# 'input' => 11,
# 'name' => 'int0154: mod: (ok)',
# 'schema' => [
# 'int',
# 'mod',
# [
# 3,
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:mod'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:mod, type, type:int) int0154: mod: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:mod, type, type:int) int0154: mod: (ok)
# {
# 'input' => 7,
# 'name' => 'int0155: div_by: (nok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:div_by'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:div_by, type, type:int) int0155: div_by: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:div_by, type, type:int) int0155: div_by: (nok)
# {
# 'input' => 6,
# 'name' => 'int0156: div_by: (ok)',
# 'schema' => [
# 'int',
# 'div_by',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:int',
# 'clause:div_by'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:div_by, type, type:int) int0156: div_by: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:div_by, type, type:int) int0156: div_by: (ok)
ok 157
1..157
ok 11 - 10-type-int.json
# Subtest: 10-type-num.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => '-1.1',
# 'name' => 'num0001: type check: must accept -1.1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0001: type check: must accept -1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0001: type check: must accept -1.1
# {
# 'input' => -1,
# 'name' => 'num0002: type check: must accept -1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0002: type check: must accept -1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0002: type check: must accept -1
# {
# 'input' => 0,
# 'name' => 'num0003: type check: must accept 0',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0003: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0003: type check: must accept 0
# {
# 'input' => 1,
# 'name' => 'num0004: type check: must accept 1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0004: type check: must accept 1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0004: type check: must accept 1
# {
# 'input' => '1.1',
# 'name' => 'num0005: type check: must accept 1.1',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0005: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0005: type check: must accept 1.1
# {
# 'input' => 'a',
# 'name' => 'num0006: type check: must reject a',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:num) num0006: type check: must reject a
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:num) num0006: type check: must reject a
# {
# 'input' => [],
# 'name' => 'num0007: type check: must reject []',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:num) num0007: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:num) num0007: type check: must reject []
# {
# 'input' => {},
# 'name' => 'num0008: type check: must reject {}',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:num) num0008: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:num) num0008: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'num0009: must accept undefined value',
# 'schema' => 'num',
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0009: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0009: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'num0010: defhash_v',
# 'schema' => [
# 'num',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:num) num0010: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:num) num0010: defhash_v
# {
# 'input' => undef,
# 'name' => 'num0011: v',
# 'schema' => [
# 'num',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:num) num0011: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:num) num0011: v
# {
# 'input' => undef,
# 'name' => 'num0012: c',
# 'schema' => [
# 'num',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:num) num0012: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:num) num0012: c
# {
# 'input' => undef,
# 'name' => 'num0013: default_lang',
# 'schema' => [
# 'num',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:num) num0013: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:num) num0013: default_lang
# {
# 'input' => undef,
# 'name' => 'num0014: name',
# 'schema' => [
# 'num',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:num) num0014: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:num) num0014: name
# {
# 'input' => undef,
# 'name' => 'num0015: summary',
# 'schema' => [
# 'num',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:num) num0015: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:num) num0015: summary
# {
# 'input' => undef,
# 'name' => 'num0016: description',
# 'schema' => [
# 'num',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:num) num0016: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:num) num0016: description
# {
# 'input' => undef,
# 'name' => 'num0017: tags',
# 'schema' => [
# 'num',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:num) num0017: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:num) num0017: tags
# {
# 'input' => undef,
# 'name' => 'num0018: req=0 must accept undefined value',
# 'schema' => [
# 'num',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:num) num0018: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:req, type, type:num) num0018: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'num0019: req=1 must reject undefined value',
# 'schema' => [
# 'num',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:num) num0019: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:num) num0019: req=1 must reject undefined value
# {
# 'input' => '1.1',
# 'name' => 'num0020: forbidden=0 must accept defined value',
# 'schema' => [
# 'num',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:num) num0020: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:num) num0020: forbidden=0 must accept defined value
# {
# 'input' => '1.1',
# 'name' => 'num0021: forbidden=1 must reject defined value',
# 'schema' => [
# 'num',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:num) num0021: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:forbidden, type, type:num) num0021: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'num0022: default: must accept valid default 1.1',
# 'schema' => [
# 'num*',
# 'default',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:num) num0022: default: must accept valid default 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:num) num0022: default: must accept valid default 1.1
# {
# 'input' => undef,
# 'name' => 'num0023: default: must reject invalid default []',
# 'schema' => [
# 'num*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:num) num0023: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:default, type, type:num) num0023: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'num0024: clause (dies, unknown clause)',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:num) num0024: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 24 - (tags=clause:clause, type, type:num) num0024: clause (dies, unknown clause)
# {
# 'input' => '1.1',
# 'name' => 'num0025: clause (ok)',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'min',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:num) num0025: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 25 - (tags=clause:clause, type, type:num) num0025: clause (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0026: clause (ok) + clause nok = nok',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'min',
# 1
# ],
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:num) num0026: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:num) num0026: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0027: clause (nok)',
# 'schema' => [
# 'num*',
# 'clause',
# [
# 'min',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:num) num0027: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:num) num0027: clause (nok)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'num0028: clset (dies, unknown clause)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:num) num0028: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 28 - (tags=clause:clset, type, type:num) num0028: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => '1.1',
# 'name' => 'num0029: clset (dies, unknown attr)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:num) num0029: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 29 - (tags=clause:clset, type, type:num) num0029: clset (dies, unknown attr)
# {
# 'input' => '1.1',
# 'name' => 'num0030: clset (empty = ok)',
# 'schema' => [
# 'num*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0030: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0030: clset (empty = ok)
# {
# 'input' => '1.1',
# 'name' => 'num0031: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:num) num0031: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:num) num0031: clset (ignored clause/attr = ok)
# {
# 'input' => '1.1',
# 'name' => 'num0032: clset (ok + ok = ok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:num) num0032: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:num) num0032: clset (ok + ok = ok)
# {
# 'input' => '1.1',
# 'name' => 'num0033: clset (ok) + clause nok = nok',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'min' => 1
# },
# 'max',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0033: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:num) num0033: clset (ok) + clause nok = nok
# {
# 'input' => '1.1',
# 'name' => 'num0034: clset (ok + nok = nok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0034: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:num) num0034: clset (ok + nok = nok)
# {
# 'input' => '1.1',
# 'name' => 'num0035: clset (nok + ok = nok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => '1.1',
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0035: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:num) num0035: clset (nok + ok = nok)
# {
# 'input' => '1.1',
# 'name' => 'num0036: clset (nok + nok = nok)',
# 'schema' => [
# 'num*',
# 'clset',
# {
# 'max' => 1,
# 'min' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:num) num0036: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:num) num0036: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'num0037: ok',
# 'schema' => [
# 'num',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:num) num0037: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:num) num0037: ok
# {
# 'input' => undef,
# 'name' => 'num0038: ok + op not (nok)',
# 'schema' => [
# 'num',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:num) num0038: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=clause:ok, op, op:not, type, type:num) num0038: ok + op not (nok)
# {
# 'input' => '0.1',
# 'name' => 'num0039: .err_level=error (clause=min, ok)',
# 'schema' => [
# 'num',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0039: .err_level=error (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:num) num0039: .err_level=error (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'num0040: .err_level=error (clause=min, nok)',
# 'schema' => [
# 'num',
# 'min',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0040: .err_level=error (clause=min, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:num) num0040: .err_level=error (clause=min, nok)
# {
# 'input' => '0.1',
# 'name' => 'num0041: .err_level=warn (clause=min, ok)',
# 'schema' => [
# 'num',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0041: .err_level=warn (clause=min, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=attr, attr:err_level, type, type:num) num0041: .err_level=warn (clause=min, ok)
# {
# 'input' => '-0.1',
# 'name' => 'num0042: .err_level=warn (clause=min, nok)',
# 'schema' => [
# 'num*',
# 'min',
# 0,
# 'min.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:num) num0042: .err_level=warn (clause=min, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:num) num0042: .err_level=warn (clause=min, nok)
# {
# 'input' => '1.1',
# 'name' => 'num0043: is: must accept same value',
# 'schema' => [
# 'num',
# 'is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:num) num0043: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, type, type:num) num0043: is: must accept same value
# {
# 'input' => '1.1',
# 'name' => 'num0044: is: must reject different value',
# 'schema' => [
# 'num',
# 'is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:num) num0044: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:num) num0044: is: must reject different value
# {
# 'input' => '1.1',
# 'name' => 'num0045: !is (nok)',
# 'schema' => [
# 'num',
# '!is',
# '1.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:num) num0045: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:num) num0045: !is (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0046: !is (ok)',
# 'schema' => [
# 'num',
# '!is',
# '1.2'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:num) num0046: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, opshortcut, type, type:num) num0046: !is (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0047: is.op=not (nok)',
# 'schema' => [
# 'num',
# 'is',
# '1.1',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:num) num0047: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:num) num0047: is.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0048: is.op=not (ok)',
# 'schema' => [
# 'num',
# 'is',
# '1.2',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:num) num0048: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:num) num0048: is.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0049: is& (no items)',
# 'schema' => [
# 'num',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0049: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0049: is& (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0050: is& (ok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0050: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0050: is& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0051: is& (nok + ok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0051: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0051: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0052: is& (ok + nok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0052: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0052: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0053: is& (nok + nok)',
# 'schema' => [
# 'num',
# 'is&',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) num0053: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) num0053: is& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0054: is.op=and (no items)',
# 'schema' => [
# 'num',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0054: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0054: is.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0055: is.op=and (ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0055: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:num) num0055: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0056: is.op=and (nok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0056: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:num) num0056: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0057: is.op=and (ok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0057: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:num) num0057: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0058: is.op=and (nok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:num) num0058: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:num) num0058: is.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0059: is| (no items)',
# 'schema' => [
# 'num',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0059: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0059: is| (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0060: is| (ok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.1',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0060: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0060: is| (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0061: is| (nok + ok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.2',
# '1.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0061: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0061: is| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0062: is| (ok + nok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0062: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0062: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0063: is| (nok + nok)',
# 'schema' => [
# 'num',
# 'is|',
# [
# '1.2',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) num0063: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) num0063: is| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0064: is.op=or (no items)',
# 'schema' => [
# 'num',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0064: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:num) num0064: is.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0065: is.op=or (ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0065: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:num) num0065: is.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0066: is.op=or (nok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0066: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:num) num0066: is.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0067: is.op=or (ok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0067: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:num) num0067: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0068: is.op=or (nok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:num) num0068: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:num) num0068: is.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0069: is.op=none (empty items)',
# 'schema' => [
# 'num',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0069: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:num) num0069: is.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'num0070: is.op=none (nok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0070: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:num) num0070: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0071: is.op=none (nok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.2',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0071: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:num) num0071: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0072: is.op=none (ok + nok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.2'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0072: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:num) num0072: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0073: is.op=none (ok + ok)',
# 'schema' => [
# 'num',
# 'is',
# [
# '1.1',
# '1.1'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:num) num0073: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:num) num0073: is.op=none (ok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0074: in: must accept valid choices',
# 'schema' => [
# 'num',
# 'in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:num) num0074: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, type, type:num) num0074: in: must accept valid choices
# {
# 'input' => '1.1',
# 'name' => 'num0075: in: must reject empty choices',
# 'schema' => [
# 'num',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:num) num0075: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:num) num0075: in: must reject empty choices
# {
# 'input' => '1.1',
# 'name' => 'num0076: !in (nok)',
# 'schema' => [
# 'num',
# '!in',
# [
# '1.1',
# '1.2'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:num) num0076: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:num) num0076: !in (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0077: !in (ok)',
# 'schema' => [
# 'num',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:num) num0077: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, opshortcut, type, type:num) num0077: !in (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0078: in.op=not (nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# '1.1',
# '1.2'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:num) num0078: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:num) num0078: in.op=not (nok)
# {
# 'input' => '1.1',
# 'name' => 'num0079: in.op=not (ok)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:num) num0079: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:num) num0079: in.op=not (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0080: in& (no items)',
# 'schema' => [
# 'num',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0080: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0080: in& (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0081: in& (ok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0081: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0081: in& (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0082: in& (nok + ok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0082: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0082: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0083: in& (ok + nok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0083: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0083: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0084: in& (nok + nok)',
# 'schema' => [
# 'num',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) num0084: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) num0084: in& (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0085: in.op=and (no items)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0085: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:num) num0085: in.op=and (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0086: in.op=and (ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0086: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:num) num0086: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0087: in.op=and (nok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0087: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:num) num0087: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0088: in.op=and (ok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0088: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:num) num0088: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0089: in.op=and (nok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:num) num0089: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:num) num0089: in.op=and (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0090: in| (no items)',
# 'schema' => [
# 'num',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0090: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0090: in| (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0091: in| (ok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0091: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0091: in| (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0092: in| (nok + ok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0092: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0092: in| (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0093: in| (ok + nok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0093: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0093: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0094: in| (nok + nok)',
# 'schema' => [
# 'num',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) num0094: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) num0094: in| (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0095: in.op=or (no items)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0095: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:num) num0095: in.op=or (no items)
# {
# 'input' => '1.1',
# 'name' => 'num0096: in.op=or (ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0096: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:num) num0096: in.op=or (ok)
# {
# 'input' => '1.1',
# 'name' => 'num0097: in.op=or (nok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0097: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:num) num0097: in.op=or (nok + ok)
# {
# 'input' => '1.1',
# 'name' => 'num0098: in.op=or (ok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0098: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:num) num0098: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0099: in.op=or (nok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:num) num0099: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:num) num0099: in.op=or (nok + nok)
# {
# 'input' => '1.1',
# 'name' => 'num0100: in.op=none (empty items)',
# 'schema' => [
# 'num',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0100: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:num) num0100: in.op=none (empty items)
# {
# 'input' => '1.1',
# 'name' => 'num0101: in.op=none (nok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0101: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:num) num0101: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0102: in.op=none (nok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0102: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:num) num0102: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0103: in.op=none (ok + nok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0103: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:num) num0103: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '1.1',
# 'name' => 'num0104: in.op=none (ok + ok)',
# 'schema' => [
# 'num',
# 'in',
# [
# [
# '1.1',
# '1.2'
# ],
# [
# '1.1',
# '1.2'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:num) num0104: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:num) num0104: in.op=none (ok + ok)
# {
# 'input' => '2.1',
# 'name' => 'num0105: min: 2.1 -3.1',
# 'schema' => [
# 'num',
# 'min',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:num) num0105: min: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:num) num0105: min: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'num0106: min: 2.1 2.1',
# 'schema' => [
# 'num',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:num) num0106: min: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:num) num0106: min: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'num0107: min: -3.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'min',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:num) num0107: min: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:num) num0107: min: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0108: xmin: 2.1 -3.1',
# 'schema' => [
# 'num',
# 'xmin',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:num) num0108: xmin: 2.1 -3.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:num) num0108: xmin: 2.1 -3.1
# {
# 'input' => '2.1',
# 'name' => 'num0109: xmin: 2.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:num) num0109: xmin: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:num) num0109: xmin: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0110: xmin: -3.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xmin',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:num) num0110: xmin: -3.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:num) num0110: xmin: -3.1 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0111: max: 2.1 -3.1 -> fail',
# 'schema' => [
# 'num',
# 'max',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:num) num0111: max: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:num) num0111: max: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0112: max: 2.1 2.1',
# 'schema' => [
# 'num',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:num) num0112: max: 2.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:num) num0112: max: 2.1 2.1
# {
# 'input' => '-3.1',
# 'name' => 'num0113: max: -3.1 2.1',
# 'schema' => [
# 'num',
# 'max',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:num) num0113: max: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:num) num0113: max: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'num0114: xmax: 2.1 -3.1 -> fail',
# 'schema' => [
# 'num',
# 'xmax',
# '-3.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:num) num0114: xmax: 2.1 -3.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:num) num0114: xmax: 2.1 -3.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0115: xmax: 2.1 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:num) num0115: xmax: 2.1 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:num) num0115: xmax: 2.1 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0116: xmax: -3.1 2.1',
# 'schema' => [
# 'num',
# 'xmax',
# '2.1'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:num) num0116: xmax: -3.1 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:xmax, type, type:num) num0116: xmax: -3.1 2.1
# {
# 'input' => '2.1',
# 'name' => 'num0117: between: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'num',
# 'between',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:num) num0117: between: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:num) num0117: between: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'num0118: between: 2.1 -3.1 & 2.1',
# 'schema' => [
# 'num',
# 'between',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:num) num0118: between: 2.1 -3.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 118 - (tags=clause:between, type, type:num) num0118: between: 2.1 -3.1 & 2.1
# {
# 'input' => '2.1',
# 'name' => 'num0119: between: 2.1 2.1 & 2.1',
# 'schema' => [
# 'num',
# 'between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:num) num0119: between: 2.1 2.1 & 2.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:num) num0119: between: 2.1 2.1 & 2.1
# {
# 'input' => '-3.1',
# 'name' => 'num0120: between: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'num',
# 'between',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:num) num0120: between: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, type, type:num) num0120: between: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0121: xbetween: 2.1 -3.1 & 4.1',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '-3.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0121: xbetween: 2.1 -3.1 & 4.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:num) num0121: xbetween: 2.1 -3.1 & 4.1
# {
# 'input' => '2.1',
# 'name' => 'num0122: xbetween: 2.1 -3.1 & 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '-3.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0122: xbetween: 2.1 -3.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:num) num0122: xbetween: 2.1 -3.1 & 2.1 -> fail
# {
# 'input' => '2.1',
# 'name' => 'num0123: xbetween: 2.1 2.1 & 2.1 -> fail',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0123: xbetween: 2.1 2.1 & 2.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:xbetween, type, type:num) num0123: xbetween: 2.1 2.1 & 2.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0124: xbetween: -3.1 2.1 & 4.1 -> fail',
# 'schema' => [
# 'num',
# 'xbetween',
# [
# '2.1',
# '4.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:num) num0124: xbetween: -3.1 2.1 & 4.1 -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:num) num0124: xbetween: -3.1 2.1 & 4.1 -> fail
# {
# 'input' => '-3.1',
# 'name' => 'num0125: !between (nok)',
# 'schema' => [
# 'num',
# '!between',
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:num) num0125: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:num) num0125: !between (nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0126: !between (ok)',
# 'schema' => [
# 'num',
# '!between',
# [
# '2.1',
# '2.1'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:num) num0126: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, opshortcut, type, type:num) num0126: !between (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0127: between.op=not (nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# '-3.1',
# '-3.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:num) num0127: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:not, type, type:num) num0127: between.op=not (nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0128: between.op=not (ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# '2.1',
# '2.1'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:num) num0128: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:not, type, type:num) num0128: between.op=not (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0129: between& (no items)',
# 'schema' => [
# 'num',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0129: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0129: between& (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0130: between& (ok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0130: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0130: between& (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0131: between& (nok + ok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0131: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0131: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0132: between& (ok + nok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0132: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0132: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0133: between& (nok + nok)',
# 'schema' => [
# 'num',
# 'between&',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) num0133: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, opshortcut, type, type:num) num0133: between& (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0134: between.op=and (no items)',
# 'schema' => [
# 'num',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:num) num0134: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=type, type:num) num0134: between.op=and (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0135: between.op=and (ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0135: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:num) num0135: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0136: between.op=and (nok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0136: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:num) num0136: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0137: between.op=and (ok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0137: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:and, type, type:num) num0137: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0138: between.op=and (nok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:num) num0138: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:and, type, type:num) num0138: between.op=and (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0139: between| (no items)',
# 'schema' => [
# 'num',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0139: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0139: between| (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0140: between| (ok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0140: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0140: between| (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0141: between| (nok + ok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0141: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0141: between| (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0142: between| (ok + nok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0142: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0142: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0143: between| (nok + nok)',
# 'schema' => [
# 'num',
# 'between|',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) num0143: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, opshortcut, type, type:num) num0143: between| (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0144: between.op=or (no items)',
# 'schema' => [
# 'num',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0144: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:num) num0144: between.op=or (no items)
# {
# 'input' => '-3.1',
# 'name' => 'num0145: between.op=or (ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0145: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:num) num0145: between.op=or (ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0146: between.op=or (nok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0146: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:num) num0146: between.op=or (nok + ok)
# {
# 'input' => '-3.1',
# 'name' => 'num0147: between.op=or (ok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0147: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:or, type, type:num) num0147: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0148: between.op=or (nok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:num) num0148: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:or, type, type:num) num0148: between.op=or (nok + nok)
# {
# 'input' => '-3.1',
# 'name' => 'num0149: between.op=none (empty items)',
# 'schema' => [
# 'num',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0149: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:num) num0149: between.op=none (empty items)
# {
# 'input' => '-3.1',
# 'name' => 'num0150: between.op=none (nok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0150: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:num) num0150: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0151: between.op=none (nok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '2.1',
# '2.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0151: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:num) num0151: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0152: between.op=none (ok + nok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '2.1',
# '2.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0152: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:between, op, op:none, type, type:num) num0152: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '-3.1',
# 'name' => 'num0153: between.op=none (ok + ok)',
# 'schema' => [
# 'num',
# 'between',
# [
# [
# '-3.1',
# '-3.1'
# ],
# [
# '-3.1',
# '-3.1'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:num',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:num) num0153: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:between, op, op:none, type, type:num) num0153: between.op=none (ok + ok)
ok 154
1..154
ok 12 - 10-type-num.json
# Subtest: 10-type-obj.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 1,
# 'name' => 'obj0001: can (nok)',
# 'schema' => [
# 'obj',
# {
# 'can' => 'foo'
# }
# ],
# 'tags' => [
# 'type',
# 'type:obj',
# 'clause:can'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:can, type, type:obj) obj0001: can (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:can, type, type:obj) obj0001: can (nok)
# {
# 'input' => 1,
# 'name' => 'obj0002: isa (nok)',
# 'schema' => [
# 'obj',
# {
# 'isa' => 'foo'
# }
# ],
# 'tags' => [
# 'type',
# 'type:obj',
# 'clause:isa'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:isa, type, type:obj) obj0002: isa (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:isa, type, type:obj) obj0002: isa (nok)
ok 3
1..3
ok 13 - 10-type-obj.json
# Subtest: 10-type-str.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => 0,
# 'name' => 'str0001: type check: must accept 0',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0001: type check: must accept 0
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0001: type check: must accept 0
# {
# 'input' => '1.1',
# 'name' => 'str0002: type check: must accept 1.1',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0002: type check: must accept 1.1
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0002: type check: must accept 1.1
# {
# 'input' => '',
# 'name' => 'str0003: type check: must accept ',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0003: type check: must accept
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0003: type check: must accept
# {
# 'input' => 'str
# ',
# 'name' => 'str0004: type check: must accept str
# ',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0004: type check: must accept str
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0004: type check: must accept str
#
# {
# 'input' => [],
# 'name' => 'str0005: type check: must reject []',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:str) str0005: type check: must reject []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:str) str0005: type check: must reject []
# {
# 'input' => {},
# 'name' => 'str0006: type check: must reject {}',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:str) str0006: type check: must reject {}
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:str) str0006: type check: must reject {}
# {
# 'input' => undef,
# 'name' => 'str0007: must accept undefined value',
# 'schema' => 'str',
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0007: must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0007: must accept undefined value
# {
# 'input' => undef,
# 'name' => 'str0008: defhash_v',
# 'schema' => [
# 'str',
# 'defhash_v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:defhash_v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:defhash_v, type, type:str) str0008: defhash_v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:defhash_v, type, type:str) str0008: defhash_v
# {
# 'input' => undef,
# 'name' => 'str0009: v',
# 'schema' => [
# 'str',
# 'v',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:v'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:v, type, type:str) str0009: v
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:v, type, type:str) str0009: v
# {
# 'input' => undef,
# 'name' => 'str0010: c',
# 'schema' => [
# 'str',
# 'c.foo.bar',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:c'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:c, type, type:str) str0010: c
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:c, type, type:str) str0010: c
# {
# 'input' => undef,
# 'name' => 'str0011: default_lang',
# 'schema' => [
# 'str',
# 'default_lang',
# 'id_ID'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:default_lang'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default_lang, type, type:str) str0011: default_lang
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default_lang, type, type:str) str0011: default_lang
# {
# 'input' => undef,
# 'name' => 'str0012: name',
# 'schema' => [
# 'str',
# 'name',
# 'some name'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:name'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:name, type, type:str) str0012: name
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:name, type, type:str) str0012: name
# {
# 'input' => undef,
# 'name' => 'str0013: summary',
# 'schema' => [
# 'str',
# 'summary',
# 'some summary'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:summary'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:summary, type, type:str) str0013: summary
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:summary, type, type:str) str0013: summary
# {
# 'input' => undef,
# 'name' => 'str0014: description',
# 'schema' => [
# 'str',
# 'description',
# 'some description and `markdown`'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:description'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:description, type, type:str) str0014: description
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:description, type, type:str) str0014: description
# {
# 'input' => undef,
# 'name' => 'str0015: tags',
# 'schema' => [
# 'str',
# 'tags',
# [
# 'some',
# 'tags'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:tags'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:tags, type, type:str) str0015: tags
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:tags, type, type:str) str0015: tags
# {
# 'input' => undef,
# 'name' => 'str0016: req=0 must accept undefined value',
# 'schema' => [
# 'str',
# 'req',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:req'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:req, type, type:str) str0016: req=0 must accept undefined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:req, type, type:str) str0016: req=0 must accept undefined value
# {
# 'input' => undef,
# 'name' => 'str0017: req=1 must reject undefined value',
# 'schema' => [
# 'str',
# 'req',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:req'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:req, type, type:str) str0017: req=1 must reject undefined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:req, type, type:str) str0017: req=1 must reject undefined value
# {
# 'input' => 'a',
# 'name' => 'str0018: forbidden=0 must accept defined value',
# 'schema' => [
# 'str',
# 'forbidden',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:forbidden'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:forbidden, type, type:str) str0018: forbidden=0 must accept defined value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 18 - (tags=clause:forbidden, type, type:str) str0018: forbidden=0 must accept defined value
# {
# 'input' => 'a',
# 'name' => 'str0019: forbidden=1 must reject defined value',
# 'schema' => [
# 'str',
# 'forbidden',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:forbidden'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:forbidden, type, type:str) str0019: forbidden=1 must reject defined value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:forbidden, type, type:str) str0019: forbidden=1 must reject defined value
# {
# 'input' => undef,
# 'name' => 'str0020: default: must accept valid default a',
# 'schema' => [
# 'str*',
# 'default',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:default'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:default, type, type:str) str0020: default: must accept valid default a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:default, type, type:str) str0020: default: must accept valid default a
# {
# 'input' => undef,
# 'name' => 'str0021: default: must reject invalid default []',
# 'schema' => [
# 'str*',
# 'default',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:default'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:default, type, type:str) str0021: default: must reject invalid default []
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 21 - (tags=clause:default, type, type:str) str0021: default: must reject invalid default []
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0022: clause (dies, unknown clause)',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'foo',
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ]
# }
# Subtest: (tags=clause:clause, type, type:str) str0022: clause (dies, unknown clause)
ok 1 - compile error
1..1
ok 22 - (tags=clause:clause, type, type:str) str0022: clause (dies, unknown clause)
# {
# 'input' => 'a',
# 'name' => 'str0023: clause (ok)',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'match',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clause, type, type:str) str0023: clause (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clause, type, type:str) str0023: clause (ok)
# {
# 'input' => 'a',
# 'name' => 'str0024: clause (ok) + clause nok = nok',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'match',
# 'a'
# ],
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:str) str0024: clause (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:str) str0024: clause (ok) + clause nok = nok
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0025: clause (nok)',
# 'schema' => [
# 'str*',
# 'clause',
# [
# 'match',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clause'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clause, type, type:str) str0025: clause (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clause, type, type:str) str0025: clause (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0026: clset (dies, unknown clause)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:str) str0026: clset (dies, unknown clause)
ok 1 - compile error
1..1
ok 26 - (tags=clause:clset, type, type:str) str0026: clset (dies, unknown clause)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0027: clset (dies, unknown attr)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'min_len' => 1,
# 'min_len.foo' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ]
# }
# Subtest: (tags=clause:clset, type, type:str) str0027: clset (dies, unknown attr)
ok 1 - compile error
1..1
ok 27 - (tags=clause:clset, type, type:str) str0027: clset (dies, unknown attr)
# {
# 'input' => 'a',
# 'name' => 'str0028: clset (empty = ok)',
# 'schema' => [
# 'str*',
# 'clset',
# {}
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0028: clset (empty = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0028: clset (empty = ok)
# {
# 'input' => 'a',
# 'name' => 'str0029: clset (ignored clause/attr = ok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# '_foo' => 1,
# 'foo._bar' => 2
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:str) str0029: clset (ignored clause/attr = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:str) str0029: clset (ignored clause/attr = ok)
# {
# 'input' => 'a',
# 'name' => 'str0030: clset (ok + ok = ok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:clset, type, type:str) str0030: clset (ok + ok = ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:clset, type, type:str) str0030: clset (ok + ok = ok)
# {
# 'input' => 'a',
# 'name' => 'str0031: clset (ok) + clause nok = nok',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'match' => 'a'
# },
# 'len',
# 2
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0031: clset (ok) + clause nok = nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:str) str0031: clset (ok) + clause nok = nok
# {
# 'input' => 'a',
# 'name' => 'str0032: clset (ok + nok = nok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'a'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0032: clset (ok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:str) str0032: clset (ok + nok = nok)
# {
# 'input' => 'a',
# 'name' => 'str0033: clset (nok + ok = nok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 1,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0033: clset (nok + ok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:str) str0033: clset (nok + ok = nok)
# {
# 'input' => 'a',
# 'name' => 'str0034: clset (nok + nok = nok)',
# 'schema' => [
# 'str*',
# 'clset',
# {
# 'len' => 2,
# 'match' => 'b'
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:clset'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:clset, type, type:str) str0034: clset (nok + nok = nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:clset, type, type:str) str0034: clset (nok + nok = nok)
# {
# 'input' => undef,
# 'name' => 'str0035: ok',
# 'schema' => [
# 'str',
# {
# 'ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:ok'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:ok, type, type:str) str0035: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:ok, type, type:str) str0035: ok
# {
# 'input' => undef,
# 'name' => 'str0036: ok + op not (nok)',
# 'schema' => [
# 'str',
# {
# '!ok' => 1
# }
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:ok',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:ok, op, op:not, type, type:str) str0036: ok + op not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:ok, op, op:not, type, type:str) str0036: ok + op not (nok)
# {
# 'input' => 'a',
# 'name' => 'str0037: .err_level=error (clause=is, ok)',
# 'schema' => [
# 'str',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0037: .err_level=error (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:str) str0037: .err_level=error (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'str0038: .err_level=error (clause=is, nok)',
# 'schema' => [
# 'str',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 0
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0038: .err_level=error (clause=is, nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 38 - (tags=attr, attr:err_level, type, type:str) str0038: .err_level=error (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'str0039: .err_level=warn (clause=is, ok)',
# 'schema' => [
# 'str',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0039: .err_level=warn (clause=is, ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:str) str0039: .err_level=warn (clause=is, ok)
# {
# 'input' => 'a
# ',
# 'name' => 'str0040: .err_level=warn (clause=is, nok)',
# 'schema' => [
# 'str*',
# 'is',
# 'a',
# 'is.err_level',
# 'warn'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'attr',
# 'attr:err_level'
# ],
# 'valid' => 1,
# 'warnings' => 1
# }
# Subtest: (tags=attr, attr:err_level, type, type:str) str0040: .err_level=warn (clause=is, nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=attr, attr:err_level, type, type:str) str0040: .err_level=warn (clause=is, nok)
# {
# 'input' => 'a',
# 'name' => 'str0041: is: must accept same value',
# 'schema' => [
# 'str',
# 'is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, type, type:str) str0041: is: must accept same value
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 41 - (tags=clause:is, type, type:str) str0041: is: must accept same value
# {
# 'input' => 'a',
# 'name' => 'str0042: is: must reject different value',
# 'schema' => [
# 'str',
# 'is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, type, type:str) str0042: is: must reject different value
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, type, type:str) str0042: is: must reject different value
# {
# 'input' => 'a',
# 'name' => 'str0043: !is (nok)',
# 'schema' => [
# 'str',
# '!is',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:str) str0043: !is (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:str) str0043: !is (nok)
# {
# 'input' => 'a',
# 'name' => 'str0044: !is (ok)',
# 'schema' => [
# 'str',
# '!is',
# 'b'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:str) str0044: !is (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:str) str0044: !is (ok)
# {
# 'input' => 'a',
# 'name' => 'str0045: is.op=not (nok)',
# 'schema' => [
# 'str',
# 'is',
# 'a',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:not, type, type:str) str0045: is.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:not, type, type:str) str0045: is.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'str0046: is.op=not (ok)',
# 'schema' => [
# 'str',
# 'is',
# 'b',
# 'is.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:not, type, type:str) str0046: is.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 46 - (tags=clause:is, op, op:not, type, type:str) str0046: is.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'str0047: is& (no items)',
# 'schema' => [
# 'str',
# 'is&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0047: is& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0047: is& (no items)
# {
# 'input' => 'a',
# 'name' => 'str0048: is& (ok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0048: is& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0048: is& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0049: is& (nok + ok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0049: is& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0049: is& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0050: is& (ok + nok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0050: is& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0050: is& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0051: is& (nok + nok)',
# 'schema' => [
# 'str',
# 'is&',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) str0051: is& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) str0051: is& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0052: is.op=and (no items)',
# 'schema' => [
# 'str',
# 'is',
# [],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0052: is.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0052: is.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'str0053: is.op=and (ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0053: is.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:str) str0053: is.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0054: is.op=and (nok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0054: is.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:str) str0054: is.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0055: is.op=and (ok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0055: is.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 55 - (tags=clause:is, op, op:and, type, type:str) str0055: is.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0056: is.op=and (nok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:and, type, type:str) str0056: is.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:and, type, type:str) str0056: is.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0057: is| (no items)',
# 'schema' => [
# 'str',
# 'is|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0057: is| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0057: is| (no items)
# {
# 'input' => 'a',
# 'name' => 'str0058: is| (ok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0058: is| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0058: is| (ok)
# {
# 'input' => 'a',
# 'name' => 'str0059: is| (nok + ok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'b',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0059: is| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0059: is| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0060: is| (ok + nok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0060: is| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0060: is| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0061: is| (nok + nok)',
# 'schema' => [
# 'str',
# 'is|',
# [
# 'b',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) str0061: is| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) str0061: is| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0062: is.op=or (no items)',
# 'schema' => [
# 'str',
# 'is',
# [],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0062: is.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:str) str0062: is.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'str0063: is.op=or (ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0063: is.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:str) str0063: is.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'str0064: is.op=or (nok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0064: is.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:str) str0064: is.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0065: is.op=or (ok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0065: is.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:str) str0065: is.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0066: is.op=or (nok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:or, type, type:str) str0066: is.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:or, type, type:str) str0066: is.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0067: is.op=none (empty items)',
# 'schema' => [
# 'str',
# 'is',
# [],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0067: is.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:str) str0067: is.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'str0068: is.op=none (nok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0068: is.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:str) str0068: is.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0069: is.op=none (nok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'b',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0069: is.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 69 - (tags=clause:is, op, op:none, type, type:str) str0069: is.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0070: is.op=none (ok + nok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'b'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0070: is.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:str) str0070: is.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0071: is.op=none (ok + ok)',
# 'schema' => [
# 'str',
# 'is',
# [
# 'a',
# 'a'
# ],
# 'is.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is, op, op:none, type, type:str) str0071: is.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:is, op, op:none, type, type:str) str0071: is.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0072: in: must accept valid choices',
# 'schema' => [
# 'str',
# 'in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, type, type:str) str0072: in: must accept valid choices
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 72 - (tags=clause:in, type, type:str) str0072: in: must accept valid choices
# {
# 'input' => 'a',
# 'name' => 'str0073: in: must reject empty choices',
# 'schema' => [
# 'str',
# 'in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, type, type:str) str0073: in: must reject empty choices
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, type, type:str) str0073: in: must reject empty choices
# {
# 'input' => 'a',
# 'name' => 'str0074: !in (nok)',
# 'schema' => [
# 'str',
# '!in',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:str) str0074: !in (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:str) str0074: !in (nok)
# {
# 'input' => 'a',
# 'name' => 'str0075: !in (ok)',
# 'schema' => [
# 'str',
# '!in',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:str) str0075: !in (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:str) str0075: !in (ok)
# {
# 'input' => 'a',
# 'name' => 'str0076: in.op=not (nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# 'a',
# 'b'
# ],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:not, type, type:str) str0076: in.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:not, type, type:str) str0076: in.op=not (nok)
# {
# 'input' => 'a',
# 'name' => 'str0077: in.op=not (ok)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:not, type, type:str) str0077: in.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 77 - (tags=clause:in, op, op:not, type, type:str) str0077: in.op=not (ok)
# {
# 'input' => 'a',
# 'name' => 'str0078: in& (no items)',
# 'schema' => [
# 'str',
# 'in&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0078: in& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0078: in& (no items)
# {
# 'input' => 'a',
# 'name' => 'str0079: in& (ok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0079: in& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0079: in& (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0080: in& (nok + ok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0080: in& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0080: in& (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0081: in& (ok + nok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0081: in& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0081: in& (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0082: in& (nok + nok)',
# 'schema' => [
# 'str',
# 'in&',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) str0082: in& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) str0082: in& (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0083: in.op=and (no items)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0083: in.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:str) str0083: in.op=and (no items)
# {
# 'input' => 'a',
# 'name' => 'str0084: in.op=and (ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0084: in.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:str) str0084: in.op=and (ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0085: in.op=and (nok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0085: in.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:str) str0085: in.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0086: in.op=and (ok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0086: in.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 86 - (tags=clause:in, op, op:and, type, type:str) str0086: in.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0087: in.op=and (nok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:and, type, type:str) str0087: in.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:and, type, type:str) str0087: in.op=and (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0088: in| (no items)',
# 'schema' => [
# 'str',
# 'in|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0088: in| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0088: in| (no items)
# {
# 'input' => 'a',
# 'name' => 'str0089: in| (ok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0089: in| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0089: in| (ok)
# {
# 'input' => 'a',
# 'name' => 'str0090: in| (nok + ok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0090: in| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0090: in| (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0091: in| (ok + nok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [
# 'a',
# 'b'
# ],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0091: in| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0091: in| (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0092: in| (nok + nok)',
# 'schema' => [
# 'str',
# 'in|',
# [
# [],
# []
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) str0092: in| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) str0092: in| (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0093: in.op=or (no items)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0093: in.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:str) str0093: in.op=or (no items)
# {
# 'input' => 'a',
# 'name' => 'str0094: in.op=or (ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0094: in.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:str) str0094: in.op=or (ok)
# {
# 'input' => 'a',
# 'name' => 'str0095: in.op=or (nok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0095: in.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:str) str0095: in.op=or (nok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0096: in.op=or (ok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0096: in.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:str) str0096: in.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0097: in.op=or (nok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:or, type, type:str) str0097: in.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:or, type, type:str) str0097: in.op=or (nok + nok)
# {
# 'input' => 'a',
# 'name' => 'str0098: in.op=none (empty items)',
# 'schema' => [
# 'str',
# 'in',
# [],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0098: in.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:str) str0098: in.op=none (empty items)
# {
# 'input' => 'a',
# 'name' => 'str0099: in.op=none (nok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0099: in.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:str) str0099: in.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0100: in.op=none (nok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0100: in.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:str) str0100: in.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0101: in.op=none (ok + nok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# []
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0101: in.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:str) str0101: in.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => 'a',
# 'name' => 'str0102: in.op=none (ok + ok)',
# 'schema' => [
# 'str',
# 'in',
# [
# [
# 'a',
# 'b'
# ],
# [
# 'a',
# 'b'
# ]
# ],
# 'in.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:in',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:in, op, op:none, type, type:str) str0102: in.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:in, op, op:none, type, type:str) str0102: in.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0103: min: a ',
# 'schema' => [
# 'str',
# 'min',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:str) str0103: min: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:str) str0103: min: a
# {
# 'input' => 'a',
# 'name' => 'str0104: min: a a',
# 'schema' => [
# 'str',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min, type, type:str) str0104: min: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:min, type, type:str) str0104: min: a a
# {
# 'input' => '',
# 'name' => 'str0105: min: a -> fail',
# 'schema' => [
# 'str',
# 'min',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min, type, type:str) str0105: min: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:min, type, type:str) str0105: min: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0106: xmin: a ',
# 'schema' => [
# 'str',
# 'xmin',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmin'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmin, type, type:str) str0106: xmin: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:str) str0106: xmin: a
# {
# 'input' => 'a',
# 'name' => 'str0107: xmin: a a -> fail',
# 'schema' => [
# 'str',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:str) str0107: xmin: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:str) str0107: xmin: a a -> fail
# {
# 'input' => '',
# 'name' => 'str0108: xmin: a -> fail',
# 'schema' => [
# 'str',
# 'xmin',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmin'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmin, type, type:str) str0108: xmin: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmin, type, type:str) str0108: xmin: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0109: max: a -> fail',
# 'schema' => [
# 'str',
# 'max',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max, type, type:str) str0109: max: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:max, type, type:str) str0109: max: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0110: max: a a',
# 'schema' => [
# 'str',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:str) str0110: max: a a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:str) str0110: max: a a
# {
# 'input' => '',
# 'name' => 'str0111: max: a',
# 'schema' => [
# 'str',
# 'max',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max, type, type:str) str0111: max: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:max, type, type:str) str0111: max: a
# {
# 'input' => 'a',
# 'name' => 'str0112: xmax: a -> fail',
# 'schema' => [
# 'str',
# 'xmax',
# ''
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:str) str0112: xmax: a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:str) str0112: xmax: a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0113: xmax: a a -> fail',
# 'schema' => [
# 'str',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmax'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xmax, type, type:str) str0113: xmax: a a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xmax, type, type:str) str0113: xmax: a a -> fail
# {
# 'input' => '',
# 'name' => 'str0114: xmax: a',
# 'schema' => [
# 'str',
# 'xmax',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xmax'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xmax, type, type:str) str0114: xmax: a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 114 - (tags=clause:xmax, type, type:str) str0114: xmax: a
# {
# 'input' => 'a',
# 'name' => 'str0115: between: a & ab',
# 'schema' => [
# 'str',
# 'between',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:str) str0115: between: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:str) str0115: between: a & ab
# {
# 'input' => 'a',
# 'name' => 'str0116: between: a & a',
# 'schema' => [
# 'str',
# 'between',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:str) str0116: between: a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 116 - (tags=clause:between, type, type:str) str0116: between: a & a
# {
# 'input' => 'a',
# 'name' => 'str0117: between: a a & a',
# 'schema' => [
# 'str',
# 'between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, type, type:str) str0117: between: a a & a
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, type, type:str) str0117: between: a a & a
# {
# 'input' => '',
# 'name' => 'str0118: between: a & ab -> fail',
# 'schema' => [
# 'str',
# 'between',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, type, type:str) str0118: between: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, type, type:str) str0118: between: a & ab -> fail
# {
# 'input' => 'a',
# 'name' => 'str0119: xbetween: a & ab',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# '',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0119: xbetween: a & ab
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:str) str0119: xbetween: a & ab
# {
# 'input' => 'a',
# 'name' => 'str0120: xbetween: a & a -> fail',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# '',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0120: xbetween: a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:str) str0120: xbetween: a & a -> fail
# {
# 'input' => 'a',
# 'name' => 'str0121: xbetween: a a & a -> fail',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0121: xbetween: a a & a -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 121 - (tags=clause:xbetween, type, type:str) str0121: xbetween: a a & a -> fail
# {
# 'input' => '',
# 'name' => 'str0122: xbetween: a & ab -> fail',
# 'schema' => [
# 'str',
# 'xbetween',
# [
# 'a',
# 'ab'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:xbetween'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:xbetween, type, type:str) str0122: xbetween: a & ab -> fail
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:xbetween, type, type:str) str0122: xbetween: a & ab -> fail
# {
# 'input' => '',
# 'name' => 'str0123: !between (nok)',
# 'schema' => [
# 'str',
# '!between',
# [
# '',
# ''
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:str) str0123: !between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:str) str0123: !between (nok)
# {
# 'input' => '',
# 'name' => 'str0124: !between (ok)',
# 'schema' => [
# 'str',
# '!between',
# [
# 'a',
# 'a'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:str) str0124: !between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:str) str0124: !between (ok)
# {
# 'input' => '',
# 'name' => 'str0125: between.op=not (nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# '',
# ''
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:not, type, type:str) str0125: between.op=not (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 125 - (tags=clause:between, op, op:not, type, type:str) str0125: between.op=not (nok)
# {
# 'input' => '',
# 'name' => 'str0126: between.op=not (ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# 'a',
# 'a'
# ],
# 'between.op',
# 'not'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:not'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:not, type, type:str) str0126: between.op=not (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 126 - (tags=clause:between, op, op:not, type, type:str) str0126: between.op=not (ok)
# {
# 'input' => '',
# 'name' => 'str0127: between& (no items)',
# 'schema' => [
# 'str',
# 'between&',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0127: between& (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0127: between& (no items)
# {
# 'input' => '',
# 'name' => 'str0128: between& (ok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0128: between& (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0128: between& (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0129: between& (nok + ok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0129: between& (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0129: between& (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0130: between& (ok + nok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0130: between& (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0130: between& (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0131: between& (nok + nok)',
# 'schema' => [
# 'str',
# 'between&',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) str0131: between& (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:str) str0131: between& (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0132: between.op=and (no items)',
# 'schema' => [
# 'str',
# 'between',
# [],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:str) str0132: between.op=and (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 132 - (tags=type, type:str) str0132: between.op=and (no items)
# {
# 'input' => '',
# 'name' => 'str0133: between.op=and (ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0133: between.op=and (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 133 - (tags=clause:between, op, op:and, type, type:str) str0133: between.op=and (ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0134: between.op=and (nok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0134: between.op=and (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 134 - (tags=clause:between, op, op:and, type, type:str) str0134: between.op=and (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0135: between.op=and (ok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0135: between.op=and (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 135 - (tags=clause:between, op, op:and, type, type:str) str0135: between.op=and (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0136: between.op=and (nok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'and'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:and'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:and, type, type:str) str0136: between.op=and (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 136 - (tags=clause:between, op, op:and, type, type:str) str0136: between.op=and (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0137: between| (no items)',
# 'schema' => [
# 'str',
# 'between|',
# []
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0137: between| (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0137: between| (no items)
# {
# 'input' => '',
# 'name' => 'str0138: between| (ok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0138: between| (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0138: between| (ok)
# {
# 'input' => '',
# 'name' => 'str0139: between| (nok + ok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0139: between| (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0139: between| (nok + ok)
# {
# 'input' => '',
# 'name' => 'str0140: between| (ok + nok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0140: between| (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0140: between| (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0141: between| (nok + nok)',
# 'schema' => [
# 'str',
# 'between|',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) str0141: between| (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:str) str0141: between| (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0142: between.op=or (no items)',
# 'schema' => [
# 'str',
# 'between',
# [],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0142: between.op=or (no items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 142 - (tags=clause:between, op, op:or, type, type:str) str0142: between.op=or (no items)
# {
# 'input' => '',
# 'name' => 'str0143: between.op=or (ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0143: between.op=or (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 143 - (tags=clause:between, op, op:or, type, type:str) str0143: between.op=or (ok)
# {
# 'input' => '',
# 'name' => 'str0144: between.op=or (nok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0144: between.op=or (nok + ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 144 - (tags=clause:between, op, op:or, type, type:str) str0144: between.op=or (nok + ok)
# {
# 'input' => '',
# 'name' => 'str0145: between.op=or (ok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0145: between.op=or (ok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 145 - (tags=clause:between, op, op:or, type, type:str) str0145: between.op=or (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0146: between.op=or (nok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'or'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:or'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:or, type, type:str) str0146: between.op=or (nok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 146 - (tags=clause:between, op, op:or, type, type:str) str0146: between.op=or (nok + nok)
# {
# 'input' => '',
# 'name' => 'str0147: between.op=none (empty items)',
# 'schema' => [
# 'str',
# 'between',
# [],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0147: between.op=none (empty items)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 147 - (tags=clause:between, op, op:none, type, type:str) str0147: between.op=none (empty items)
# {
# 'input' => '',
# 'name' => 'str0148: between.op=none (nok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0148: between.op=none (nok + nok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 148 - (tags=clause:between, op, op:none, type, type:str) str0148: between.op=none (nok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0149: between.op=none (nok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# 'a',
# 'a'
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0149: between.op=none (nok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 149 - (tags=clause:between, op, op:none, type, type:str) str0149: between.op=none (nok + ok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0150: between.op=none (ok + nok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# 'a',
# 'a'
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0150: between.op=none (ok + nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 150 - (tags=clause:between, op, op:none, type, type:str) str0150: between.op=none (ok + nok)
# {
# 'errors' => 1,
# 'input' => '',
# 'name' => 'str0151: between.op=none (ok + ok)',
# 'schema' => [
# 'str',
# 'between',
# [
# [
# '',
# ''
# ],
# [
# '',
# ''
# ]
# ],
# 'between.op',
# 'none'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:between',
# 'op',
# 'op:none'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:between, op, op:none, type, type:str) str0151: between.op=none (ok + ok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 151 - (tags=clause:between, op, op:none, type, type:str) str0151: between.op=none (ok + ok)
# {
# 'input' => 'a',
# 'name' => 'str0152: len (ok)',
# 'schema' => [
# 'str',
# 'len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len, type, type:str) str0152: len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 152 - (tags=clause:len, type, type:str) str0152: len (ok)
# {
# 'input' => 'a',
# 'name' => 'str0153: len (nok)',
# 'schema' => [
# 'str',
# 'len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len, type, type:str) str0153: len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 153 - (tags=clause:len, type, type:str) str0153: len (nok)
# {
# 'input' => 'a',
# 'name' => 'str0154: min_len (ok)',
# 'schema' => [
# 'str',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:min_len, type, type:str) str0154: min_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 154 - (tags=clause:min_len, type, type:str) str0154: min_len (ok)
# {
# 'input' => 'a',
# 'name' => 'str0155: min_len (nok)',
# 'schema' => [
# 'str',
# 'min_len',
# 3
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:min_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:min_len, type, type:str) str0155: min_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 155 - (tags=clause:min_len, type, type:str) str0155: min_len (nok)
# {
# 'input' => 'a',
# 'name' => 'str0156: max_len (ok)',
# 'schema' => [
# 'str',
# 'min_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max_len'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:max_len, type, type:str) str0156: max_len (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 156 - (tags=clause:max_len, type, type:str) str0156: max_len (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0157: max_len (nok)',
# 'schema' => [
# 'str',
# 'max_len',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:max_len'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:max_len, type, type:str) str0157: max_len (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 157 - (tags=clause:max_len, type, type:str) str0157: max_len (nok)
# {
# 'input' => 'a',
# 'name' => 'str0158: len_between (ok)',
# 'schema' => [
# 'str',
# 'len_between',
# [
# 1,
# 3
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len_between'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:len_between, type, type:str) str0158: len_between (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 158 - (tags=clause:len_between, type, type:str) str0158: len_between (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0159: len_between (nok)',
# 'schema' => [
# 'str',
# 'len_between',
# [
# 1,
# 1
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:len_between'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:len_between, type, type:str) str0159: len_between (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 159 - (tags=clause:len_between, type, type:str) str0159: len_between (nok)
# {
# 'input' => 'abc',
# 'name' => 'str0160: each_index (ok)',
# 'schema' => [
# 'str',
# 'each_index',
# [
# 'int',
# 'max',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_index'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_index, type, type:str) str0160: each_index (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 160 - (tags=clause:each_index, type, type:str) str0160: each_index (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0161: each_index (nok)',
# 'schema' => [
# 'str',
# 'each_index',
# [
# 'int',
# 'xmax',
# 2
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_index'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_index, type, type:str) str0161: each_index (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 161 - (tags=clause:each_index, type, type:str) str0161: each_index (nok)
# {
# 'input' => 'abc',
# 'name' => 'str0162: each_elem (ok)',
# 'schema' => [
# 'str',
# 'each_elem',
# 'str'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_elem'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:each_elem, type, type:str) str0162: each_elem (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 162 - (tags=clause:each_elem, type, type:str) str0162: each_elem (ok)
# {
# 'input' => 'abc',
# 'name' => 'str0163: each_elem (nok)',
# 'schema' => [
# 'str',
# 'each_elem',
# 'float'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:each_elem'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:each_elem, type, type:str) str0163: each_elem (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 163 - (tags=clause:each_elem, type, type:str) str0163: each_elem (nok)
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'str0170: has',
# 'schema' => [
# 'str',
# 'has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, type, type:str) str0170: has
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 164 - (tags=clause:has, type, type:str) str0170: has
# {
# 'invalid_inputs' => [
# 'abc',
# 'ac'
# ],
# 'name' => 'str0171: has + op.not',
# 'schema' => [
# 'str',
# '!has',
# 'a'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has',
# 'op',
# 'op:not',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# '',
# 'A',
# 'c'
# ]
# }
# Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:str) str0171: has + op.not
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - valid input [2]
ok 5 - invalid input [0]
ok 6 - invalid input [1]
ok 7 - validator (rt=full) returns hash
1..7
ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:str) str0171: has + op.not
# {
# 'invalid_inputs' => [
# '',
# 'A',
# 'c'
# ],
# 'name' => 'str0172: has + op.or',
# 'schema' => [
# 'str',
# 'has|',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has',
# 'op',
# 'op:or',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc',
# 'ac'
# ]
# }
# Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:str) str0172: has + op.or
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - valid input [1]
ok 4 - invalid input [0]
ok 5 - invalid input [1]
ok 6 - invalid input [2]
ok 7 - validator (rt=full) returns hash
1..7
ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:str) str0172: has + op.or
# {
# 'invalid_inputs' => [
# 'ac',
# '',
# 'A',
# 'c'
# ],
# 'name' => 'str0173: has + op.and',
# 'schema' => [
# 'str',
# 'has&',
# [
# 'a',
# 'b'
# ]
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:has',
# 'op',
# 'op:and',
# 'opshortcut'
# ],
# 'valid_inputs' => [
# 'abc'
# ]
# }
# Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:str) str0173: has + op.and
ok 1 - compile success
ok 2 - valid input [0]
ok 3 - invalid input [0]
ok 4 - invalid input [1]
ok 5 - invalid input [2]
ok 6 - invalid input [3]
ok 7 - validator (rt=full) returns hash
1..7
ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:str) str0173: has + op.and
# {
# 'input' => 'a',
# 'name' => 'str0177: encoding: (ok)',
# 'schema' => [
# 'str',
# 'encoding',
# 'utf8'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:encoding'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:encoding, type, type:str) str0177: encoding: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 168 - (tags=clause:encoding, type, type:str) str0177: encoding: (ok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0178: encoding: (dies, unknown encoding)',
# 'schema' => [
# 'str',
# 'encoding',
# 'foo'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:encoding'
# ]
# }
# Subtest: (tags=clause:encoding, type, type:str) str0178: encoding: (dies, unknown encoding)
ok 1 - compile error
1..1
ok 169 - (tags=clause:encoding, type, type:str) str0178: encoding: (dies, unknown encoding)
# {
# 'input' => 'a',
# 'name' => 'str0179: match: (ok)',
# 'schema' => [
# 'str',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:match'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:match, type, type:str) str0179: match: (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 170 - (tags=clause:match, type, type:str) str0179: match: (ok)
# {
# 'input' => 'A',
# 'name' => 'str0180: match: (nok)',
# 'schema' => [
# 'str',
# 'match',
# '[abc]'
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:match'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:match, type, type:str) str0180: match: (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 171 - (tags=clause:match, type, type:str) str0180: match: (nok)
# {
# 'dies' => 1,
# 'input' => 'a',
# 'name' => 'str0181: match: (dies, invalid regex)',
# 'schema' => [
# 'str',
# 'match',
# '('
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:match'
# ]
# }
# Subtest: (tags=clause:match, type, type:str) str0181: match: (dies, invalid regex)
ok 1 - compile error
1..1
ok 172 - (tags=clause:match, type, type:str) str0181: match: (dies, invalid regex)
# {
# 'input' => 'a',
# 'name' => 'str0182: is_re: 1 (ok)',
# 'schema' => [
# 'str',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:str) str0182: is_re: 1 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 173 - (tags=clause:is_re, type, type:str) str0182: is_re: 1 (ok)
# {
# 'input' => 'a(',
# 'name' => 'str0183: is_re: 1 (nok)',
# 'schema' => [
# 'str',
# 'is_re',
# 1
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:str) str0183: is_re: 1 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 174 - (tags=clause:is_re, type, type:str) str0183: is_re: 1 (nok)
# {
# 'input' => 'a(',
# 'name' => 'str0184: is_re: 0 (ok)',
# 'schema' => [
# 'str',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 1
# }
# Subtest: (tags=clause:is_re, type, type:str) str0184: is_re: 0 (ok)
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 3 - valid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 175 - (tags=clause:is_re, type, type:str) str0184: is_re: 0 (ok)
# {
# 'input' => 'a',
# 'name' => 'str0185: is_re: 0 (nok)',
# 'schema' => [
# 'str',
# 'is_re',
# 0
# ],
# 'tags' => [
# 'type',
# 'type:str',
# 'clause:is_re'
# ],
# 'valid' => 0
# }
# Subtest: (tags=clause:is_re, type, type:str) str0185: is_re: 0 (nok)
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 3 - invalid (rt=str)
ok 4 - validator (rt=full) returns hash
ok 5 - errors (rt=full)
ok 6 - warnings (rt=full)
1..6
ok 176 - (tags=clause:is_re, type, type:str) str0185: is_re: 0 (nok)
ok 177
1..177
ok 14 - 10-type-str.json
# Subtest: 10-type-undef.json
# Test version: v0.9.36 (generated by devscripts/gen-type-spectest on Thu Jun 11 14:24:01 2015)
# {
# 'input' => undef,
# 'name' => 'undef0001: ok',
# 'schema' => [
# 'undef'
# ],
# 'tags' => [
# 'type',
# 'type:undef'
# ],
# 'valid' => 1
# }
# Subtest: (tags=type, type:undef) undef0001: ok
ok 1 - compile success
ok 2 - valid (rt=bool)
ok 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 - (tags=type, type:undef) undef0001: ok
# {
# 'input' => 0,
# 'name' => 'undef0002: nok',
# 'schema' => [
# 'undef'
# ],
# 'tags' => [
# 'type',
# 'type:undef'
# ],
# 'valid' => 0
# }
# Subtest: (tags=type, type:undef) undef0002: nok
ok 1 - compile success
ok 2 - invalid (rt=bool)
ok 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 - (tags=type, type:undef) undef0002: nok
ok 3
1..3
ok 15 - 10-type-undef.json
1..15
ok
t/util-type-date.t .......
# Subtest: coerce_date (Time::Moment)
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 1 - coerce_date (Time::Moment)
# Subtest: coerce_date (DateTime)
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 2 - coerce_date (DateTime)
# Subtest: coerce_date (Time::Piece)
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 3 - coerce_date (Time::Piece)
1..3
ok
All tests successful.
Files=22, Tests=196, 142 wallclock secs ( 2.71 usr 0.17 sys + 21.66 cusr 1.72 csys = 26.26 CPU)
Result: PASS
PERLANCAR/Data-Sah-0.78.tar.gz
make test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
Fast and featureful data structure validation
>>> (cd /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac && tar cvf - Data-Sah-0.78.ppd blib) | gzip -c >/Users/fly1400/cpanfly-5.14/var/REPO/P/PE/PERLANCAR/Data-Sah-0.78.tar.gz
Data-Sah-0.78.ppd
blib/
blib/lib/
blib/lib/Data/
blib/lib/Data/Sah/
blib/lib/Data/Sah/Compiler/
blib/lib/Data/Sah/Compiler/human/
blib/lib/Data/Sah/Compiler/human/TH/
blib/lib/Data/Sah/Compiler/human/TH/all.pm
blib/lib/Data/Sah/Compiler/human/TH/any.pm
blib/lib/Data/Sah/Compiler/human/TH/array.pm
blib/lib/Data/Sah/Compiler/human/TH/bool.pm
blib/lib/Data/Sah/Compiler/human/TH/buf.pm
blib/lib/Data/Sah/Compiler/human/TH/cistr.pm
blib/lib/Data/Sah/Compiler/human/TH/code.pm
blib/lib/Data/Sah/Compiler/human/TH/Comparable.pm
blib/lib/Data/Sah/Compiler/human/TH/date.pm
blib/lib/Data/Sah/Compiler/human/TH/duration.pm
blib/lib/Data/Sah/Compiler/human/TH/float.pm
blib/lib/Data/Sah/Compiler/human/TH/HasElems.pm
blib/lib/Data/Sah/Compiler/human/TH/hash.pm
blib/lib/Data/Sah/Compiler/human/TH/int.pm
blib/lib/Data/Sah/Compiler/human/TH/num.pm
blib/lib/Data/Sah/Compiler/human/TH/obj.pm
blib/lib/Data/Sah/Compiler/human/TH/re.pm
blib/lib/Data/Sah/Compiler/human/TH/Sortable.pm
blib/lib/Data/Sah/Compiler/human/TH/str.pm
blib/lib/Data/Sah/Compiler/human/TH/undef.pm
blib/lib/Data/Sah/Compiler/human/TH.pm
blib/lib/Data/Sah/Compiler/human.pm
blib/lib/Data/Sah/Compiler/js/
blib/lib/Data/Sah/Compiler/js/TH/
blib/lib/Data/Sah/Compiler/js/TH/all.pm
blib/lib/Data/Sah/Compiler/js/TH/any.pm
blib/lib/Data/Sah/Compiler/js/TH/array.pm
blib/lib/Data/Sah/Compiler/js/TH/bool.pm
blib/lib/Data/Sah/Compiler/js/TH/buf.pm
blib/lib/Data/Sah/Compiler/js/TH/cistr.pm
blib/lib/Data/Sah/Compiler/js/TH/code.pm
blib/lib/Data/Sah/Compiler/js/TH/date.pm
blib/lib/Data/Sah/Compiler/js/TH/duration.pm
blib/lib/Data/Sah/Compiler/js/TH/float.pm
blib/lib/Data/Sah/Compiler/js/TH/hash.pm
blib/lib/Data/Sah/Compiler/js/TH/int.pm
blib/lib/Data/Sah/Compiler/js/TH/num.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/str.pm
blib/lib/Data/Sah/Compiler/js/TH/undef.pm
blib/lib/Data/Sah/Compiler/js/TH.pm
blib/lib/Data/Sah/Compiler/js.pm
blib/lib/Data/Sah/Compiler/perl/
blib/lib/Data/Sah/Compiler/perl/TH/
blib/lib/Data/Sah/Compiler/perl/TH/all.pm
blib/lib/Data/Sah/Compiler/perl/TH/any.pm
blib/lib/Data/Sah/Compiler/perl/TH/array.pm
blib/lib/Data/Sah/Compiler/perl/TH/bool.pm
blib/lib/Data/Sah/Compiler/perl/TH/buf.pm
blib/lib/Data/Sah/Compiler/perl/TH/cistr.pm
blib/lib/Data/Sah/Compiler/perl/TH/code.pm
blib/lib/Data/Sah/Compiler/perl/TH/date.pm
blib/lib/Data/Sah/Compiler/perl/TH/duration.pm
blib/lib/Data/Sah/Compiler/perl/TH/float.pm
blib/lib/Data/Sah/Compiler/perl/TH/hash.pm
blib/lib/Data/Sah/Compiler/perl/TH/int.pm
blib/lib/Data/Sah/Compiler/perl/TH/num.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/str.pm
blib/lib/Data/Sah/Compiler/perl/TH/undef.pm
blib/lib/Data/Sah/Compiler/perl/TH.pm
blib/lib/Data/Sah/Compiler/perl.pm
blib/lib/Data/Sah/Compiler/Prog/
blib/lib/Data/Sah/Compiler/Prog/TH/
blib/lib/Data/Sah/Compiler/Prog/TH/all.pm
blib/lib/Data/Sah/Compiler/Prog/TH/any.pm
blib/lib/Data/Sah/Compiler/Prog/TH.pm
blib/lib/Data/Sah/Compiler/Prog.pm
blib/lib/Data/Sah/Compiler/TextResultRole.pm
blib/lib/Data/Sah/Compiler/TH.pm
blib/lib/Data/Sah/Compiler.pm
blib/lib/Data/Sah/Human.pm
blib/lib/Data/Sah/JS.pm
blib/lib/Data/Sah/Lang/
blib/lib/Data/Sah/Lang/fr_FR.pm
blib/lib/Data/Sah/Lang/id_ID.pm
blib/lib/Data/Sah/Lang/zh_CN.pm
blib/lib/Data/Sah/Lang.pm
blib/lib/Data/Sah/Manual/
blib/lib/Data/Sah/Manual/Contributing.pod
blib/lib/Data/Sah/Manual/Developer.pod
blib/lib/Data/Sah/Manual/Extending.pod
blib/lib/Data/Sah/Manual.pod
blib/lib/Data/Sah/Type/
blib/lib/Data/Sah/Type/all.pm
blib/lib/Data/Sah/Type/any.pm
blib/lib/Data/Sah/Type/array.pm
blib/lib/Data/Sah/Type/BaseType.pm
blib/lib/Data/Sah/Type/bool.pm
blib/lib/Data/Sah/Type/buf.pm
blib/lib/Data/Sah/Type/cistr.pm
blib/lib/Data/Sah/Type/code.pm
blib/lib/Data/Sah/Type/Comparable.pm
blib/lib/Data/Sah/Type/date.pm
blib/lib/Data/Sah/Type/duration.pm
blib/lib/Data/Sah/Type/float.pm
blib/lib/Data/Sah/Type/HasElems.pm
blib/lib/Data/Sah/Type/hash.pm
blib/lib/Data/Sah/Type/int.pm
blib/lib/Data/Sah/Type/num.pm
blib/lib/Data/Sah/Type/obj.pm
blib/lib/Data/Sah/Type/re.pm
blib/lib/Data/Sah/Type/Sortable.pm
blib/lib/Data/Sah/Type/str.pm
blib/lib/Data/Sah/Type/undef.pm
blib/lib/Data/Sah/Util/
blib/lib/Data/Sah/Util/Func.pm
blib/lib/Data/Sah/Util/Role.pm
blib/lib/Data/Sah/Util/Type/
blib/lib/Data/Sah/Util/Type/Date.pm
blib/lib/Data/Sah/Util/TypeX.pm
blib/lib/Data/Sah.pm
blib/lib/Test/
blib/lib/Test/Data/
blib/lib/Test/Data/Sah.pm
blib/man3/
blib/man3/Data::Sah.3
blib/man3/Data::Sah::Compiler.3
blib/man3/Data::Sah::Compiler::human.3
blib/man3/Data::Sah::Compiler::human::TH.3
blib/man3/Data::Sah::Compiler::human::TH::all.3
blib/man3/Data::Sah::Compiler::human::TH::any.3
blib/man3/Data::Sah::Compiler::human::TH::array.3
blib/man3/Data::Sah::Compiler::human::TH::bool.3
blib/man3/Data::Sah::Compiler::human::TH::buf.3
blib/man3/Data::Sah::Compiler::human::TH::cistr.3
blib/man3/Data::Sah::Compiler::human::TH::code.3
blib/man3/Data::Sah::Compiler::human::TH::Comparable.3
blib/man3/Data::Sah::Compiler::human::TH::date.3
blib/man3/Data::Sah::Compiler::human::TH::duration.3
blib/man3/Data::Sah::Compiler::human::TH::float.3
blib/man3/Data::Sah::Compiler::human::TH::HasElems.3
blib/man3/Data::Sah::Compiler::human::TH::hash.3
blib/man3/Data::Sah::Compiler::human::TH::int.3
blib/man3/Data::Sah::Compiler::human::TH::num.3
blib/man3/Data::Sah::Compiler::human::TH::obj.3
blib/man3/Data::Sah::Compiler::human::TH::re.3
blib/man3/Data::Sah::Compiler::human::TH::Sortable.3
blib/man3/Data::Sah::Compiler::human::TH::str.3
blib/man3/Data::Sah::Compiler::human::TH::undef.3
blib/man3/Data::Sah::Compiler::js.3
blib/man3/Data::Sah::Compiler::js::TH.3
blib/man3/Data::Sah::Compiler::js::TH::all.3
blib/man3/Data::Sah::Compiler::js::TH::any.3
blib/man3/Data::Sah::Compiler::js::TH::array.3
blib/man3/Data::Sah::Compiler::js::TH::bool.3
blib/man3/Data::Sah::Compiler::js::TH::buf.3
blib/man3/Data::Sah::Compiler::js::TH::cistr.3
blib/man3/Data::Sah::Compiler::js::TH::code.3
blib/man3/Data::Sah::Compiler::js::TH::date.3
blib/man3/Data::Sah::Compiler::js::TH::duration.3
blib/man3/Data::Sah::Compiler::js::TH::float.3
blib/man3/Data::Sah::Compiler::js::TH::hash.3
blib/man3/Data::Sah::Compiler::js::TH::int.3
blib/man3/Data::Sah::Compiler::js::TH::num.3
blib/man3/Data::Sah::Compiler::js::TH::obj.3
blib/man3/Data::Sah::Compiler::js::TH::re.3
blib/man3/Data::Sah::Compiler::js::TH::str.3
blib/man3/Data::Sah::Compiler::js::TH::undef.3
blib/man3/Data::Sah::Compiler::perl.3
blib/man3/Data::Sah::Compiler::perl::TH.3
blib/man3/Data::Sah::Compiler::perl::TH::all.3
blib/man3/Data::Sah::Compiler::perl::TH::any.3
blib/man3/Data::Sah::Compiler::perl::TH::array.3
blib/man3/Data::Sah::Compiler::perl::TH::bool.3
blib/man3/Data::Sah::Compiler::perl::TH::buf.3
blib/man3/Data::Sah::Compiler::perl::TH::cistr.3
blib/man3/Data::Sah::Compiler::perl::TH::code.3
blib/man3/Data::Sah::Compiler::perl::TH::date.3
blib/man3/Data::Sah::Compiler::perl::TH::duration.3
blib/man3/Data::Sah::Compiler::perl::TH::float.3
blib/man3/Data::Sah::Compiler::perl::TH::hash.3
blib/man3/Data::Sah::Compiler::perl::TH::int.3
blib/man3/Data::Sah::Compiler::perl::TH::num.3
blib/man3/Data::Sah::Compiler::perl::TH::obj.3
blib/man3/Data::Sah::Compiler::perl::TH::re.3
blib/man3/Data::Sah::Compiler::perl::TH::str.3
blib/man3/Data::Sah::Compiler::perl::TH::undef.3
blib/man3/Data::Sah::Compiler::Prog.3
blib/man3/Data::Sah::Compiler::Prog::TH.3
blib/man3/Data::Sah::Compiler::Prog::TH::all.3
blib/man3/Data::Sah::Compiler::Prog::TH::any.3
blib/man3/Data::Sah::Compiler::TextResultRole.3
blib/man3/Data::Sah::Compiler::TH.3
blib/man3/Data::Sah::Human.3
blib/man3/Data::Sah::JS.3
blib/man3/Data::Sah::Lang.3
blib/man3/Data::Sah::Lang::fr_FR.3
blib/man3/Data::Sah::Lang::id_ID.3
blib/man3/Data::Sah::Lang::zh_CN.3
blib/man3/Data::Sah::Manual.3
blib/man3/Data::Sah::Manual::Contributing.3
blib/man3/Data::Sah::Manual::Developer.3
blib/man3/Data::Sah::Manual::Extending.3
blib/man3/Data::Sah::Type::all.3
blib/man3/Data::Sah::Type::any.3
blib/man3/Data::Sah::Type::array.3
blib/man3/Data::Sah::Type::BaseType.3
blib/man3/Data::Sah::Type::bool.3
blib/man3/Data::Sah::Type::buf.3
blib/man3/Data::Sah::Type::cistr.3
blib/man3/Data::Sah::Type::code.3
blib/man3/Data::Sah::Type::Comparable.3
blib/man3/Data::Sah::Type::date.3
blib/man3/Data::Sah::Type::duration.3
blib/man3/Data::Sah::Type::float.3
blib/man3/Data::Sah::Type::HasElems.3
blib/man3/Data::Sah::Type::hash.3
blib/man3/Data::Sah::Type::int.3
blib/man3/Data::Sah::Type::num.3
blib/man3/Data::Sah::Type::obj.3
blib/man3/Data::Sah::Type::re.3
blib/man3/Data::Sah::Type::Sortable.3
blib/man3/Data::Sah::Type::str.3
blib/man3/Data::Sah::Type::undef.3
blib/man3/Data::Sah::Util::Func.3
blib/man3/Data::Sah::Util::Role.3
blib/man3/Data::Sah::Util::Type::Date.3
blib/man3/Data::Sah::Util::TypeX.3
blib/man3/Test::Data::Sah.3
>>> mv /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/Data-Sah-0.78.ppd /Users/fly1400/cpanfly-5.14/var/REPO/P/PE/PERLANCAR
Running test for module 'Progress::Any::Output::TermProgressBarColor'
Prepending /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/arch /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/lib to PERL5LIB for 'get'
Checksum for /Users/fly1400/cpanfly-5.14/var/cpan/sources/authors/id/P/PE/PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz ok
Progress-Any-Output-TermProgressBarColor-0.22/
Progress-Any-Output-TermProgressBarColor-0.22/README
Progress-Any-Output-TermProgressBarColor-0.22/lib/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/Any/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/Any/Output/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/Any/Output/TermProgressBarColor.pm
Progress-Any-Output-TermProgressBarColor-0.22/Makefile.PL
Progress-Any-Output-TermProgressBarColor-0.22/Changes
Progress-Any-Output-TermProgressBarColor-0.22/dist.ini
Progress-Any-Output-TermProgressBarColor-0.22/LICENSE
Progress-Any-Output-TermProgressBarColor-0.22/t/
Progress-Any-Output-TermProgressBarColor-0.22/t/00-compile.t
Progress-Any-Output-TermProgressBarColor-0.22/t/01-basic.t
Progress-Any-Output-TermProgressBarColor-0.22/t/author-pod-syntax.t
Progress-Any-Output-TermProgressBarColor-0.22/t/author-pod-coverage.t
Progress-Any-Output-TermProgressBarColor-0.22/weaver.ini
Progress-Any-Output-TermProgressBarColor-0.22/MANIFEST
Progress-Any-Output-TermProgressBarColor-0.22/META.json
Progress-Any-Output-TermProgressBarColor-0.22/META.yml
Prepending /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/arch /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/lib to PERL5LIB for 'prepare'
Configuring P/PE/PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz with Makefile.PL
>>> /Users/fly1400/ap1400/bin/perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Progress::Any::Output::TermProgressBarColor
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
/Users/fly1400/ap1400/bin/perl Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
Prepending /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/arch /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/lib to PERL5LIB for 'make'
>>> make
cp lib/Progress/Any/Output/TermProgressBarColor.pm blib/lib/Progress/Any/Output/TermProgressBarColor.pm
Manifying 1 pod document
PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
make -- OK
Prepending /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/arch /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/lib to PERL5LIB for 'test'
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/Users/fly1400/ap1400/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..1
ok 1 - Progress/Any/Output/TermProgressBarColor.pm loaded ok
ok
# Failed test at t/01-basic.t line 18.
# '[33;1m 10% [][33;1m1s left [0m'
# doesn't match '(?^:foo)'
# Looks like you failed 1 test of 2.
# Failed test 'default'
# at t/01-basic.t line 20.
# Failed test at t/01-basic.t line 28.
# 'Use of uninitialized value $cd in numeric ge (>=) at /Users/fly1400/cpanfly-5.14/var/megalib/Color/ANSI/Util.pm line 281.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly1400/cpanfly-5.14/var/megalib/Color/ANSI/Util.pm line 283.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly1400/cpanfly-5.14/var/megalib/Color/ANSI/Util.pm line 281.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly1400/cpanfly-5.14/var/megalib/Color/ANSI/Util.pm line 283.
# [33;1m 20% [][33;1m1s left [0m'
# doesn't match '(?^:foo)'
# Looks like you failed 1 test of 2.
# Failed test 'fh option'
# at t/01-basic.t line 30.
# Failed test at t/01-basic.t line 41.
# '[33;1m 30% [][33;1m1s left [0m'
# doesn't match '(?^:foo)'
# Looks like you failed 1 test of 2.
# Failed test 'default (wide)'
# at t/01-basic.t line 43.
# Looks like you failed 3 tests of 3.
t/01-basic.t .............
# Subtest: default
not ok 1
ok 2
1..2
not ok 1 - default
# Subtest: fh option
not ok 1
ok 2
1..2
not ok 2 - fh option
# Subtest: default (wide)
not ok 1
ok 2
1..2
not ok 3 - default (wide)
1..3
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
Test Summary Report
-------------------
t/01-basic.t (Wstat: 768 Tests: 3 Failed: 3)
Failed tests: 1-3
Non-zero exit status: 3
Files=4, Tests=4, 3 wallclock secs ( 0.03 usr 0.01 sys + 0.24 cusr 0.05 csys = 0.33 CPU)
Result: FAIL
Failed 1/4 test programs. 3/4 subtests failed.
make: *** [test_dynamic] Error 255
PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
make test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz
Has already been unwrapped into directory /Users/fly1400/cpanfly-5.14/var/cpan/build/Perinci-CmdLine-Lite-1.55-zscLKx
PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz
Prepending /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/arch /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'Progress::Any::Output::TermProgressBarColor => 0.17' for 'PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz' failed when processing 'PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
>>> make
cp share/templates/description.txt blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/description.txt
cp share/templates/synopsis.txt blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/synopsis.txt
cp lib/Perinci/CmdLine/Base.pm blib/lib/Perinci/CmdLine/Base.pm
cp lib/Perinci/CmdLine/Util/Config.pm blib/lib/Perinci/CmdLine/Util/Config.pm
cp lib/Perinci/CmdLine/Lite.pm blib/lib/Perinci/CmdLine/Lite.pm
Manifying 3 pod documents
PERLANCAR/Perinci-CmdLine-Lite-1.55.tar.gz
make -- OK
Prepending /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/arch /Users/fly1400/cpanfly-5.14/var/cpan/build/Data-Sah-0.78-nODLac/blib/lib to PERL5LIB for 'test'
Running make test
>>> make test TEST_VERBOSE=1
Skip blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/description.txt (unchanged)
Skip blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/synopsis.txt (unchanged)
PERL_DL_NONLAZY=1 "/Users/fly1400/ap1400/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..3
ok 1 - Perinci/CmdLine/Base.pm loaded ok
ok 2 - Perinci/CmdLine/Lite.pm loaded ok
ok 3 - Perinci/CmdLine/Util/Config.pm loaded ok
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/release-rinci.t ........ skipped: these tests are for release candidate testing
# Failed test 'exit_code'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 179.
# got: '200'
# expected: '0'
# Script's stdout:
# Script's stderr: <>
# Failed test 'stdout_like'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 192.
# 'clijjNET3Ii: ERROR 500: Can't load module Perinci::Examples: "gen_modified_sub" is not exported by the Perinci::Sub::Util module
# Can't continue after import errors at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Examples.pm line 13.
# BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Examples.pm line 13.
# Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Access/Lite.pm line 54.
# '
# doesn't match '(?^:wet)'
# Looks like you failed 2 tests of 2.
# Failed test 'dry-run (via env, 0)'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 225.
# Failed test 'exit_code'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 179.
# got: '200'
# expected: '0'
# Script's stdout:
# Script's stderr: <>
# Failed test 'stdout_like'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 192.
# 'cliN0MXGd3l: ERROR 500: Can't load module Perinci::Examples: "gen_modified_sub" is not exported by the Perinci::Sub::Util module
# Can't continue after import errors at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Examples.pm line 13.
# BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Examples.pm line 13.
# Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Access/Lite.pm line 54.
# '
# doesn't match '(?^:dry)'
# Looks like you failed 2 tests of 2.
# Failed test 'dry-run (via env, 1)'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 225.
# Failed test 'exit_code'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 179.
# got: '200'
# expected: '0'
# Script's stdout:
# Script's stderr: <>
# Failed test 'stdout_like'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 192.
# 'cliqlKsp0Nq: ERROR 500: Can't load module Perinci::Examples: "gen_modified_sub" is not exported by the Perinci::Sub::Util module
# Can't continue after import errors at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Examples.pm line 13.
# BEGIN failed--compilation aborted at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Examples.pm line 13.
# Compilation failed in require at /Users/fly1400/cpanfly-5.14/var/megalib/Perinci/Access/Lite.pm line 54.
# '
# doesn't match '(?^:dry)'
# Looks like you failed 2 tests of 2.
# Failed test 'dry-run (via cmdline opt)'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 225.
# Looks like you failed 3 tests of 4.
# Failed test 'dry-run'
# at /Users/fly1400/cpanfly-5.14/var/megalib/Test/Perinci/CmdLine.pm line 292.
make: *** [test_dynamic] Terminated
Timeout (max run time is 300s)
/Users/fly1400/ap1400/bin/perl killed by signal 15